From a29da7da0040c09176b6b3a0431b7e5b3f5d181c Mon Sep 17 00:00:00 2001 From: Polkadot Wiki CI Date: Fri, 29 Sep 2023 00:15:32 +0000 Subject: [PATCH] Deploy website - based on 2cf02af393cb5537c705e9b81e620e25432d906b --- 404.html | 8 +- ...bined-4ef969fb72931430cf067bccc10c1a73.png | Bin 0 -> 78959 bytes ...sable-ee626ebd055fdf3bbd6d88d70bc2c110.png | Bin 0 -> 81044 bytes ...essed-db4821b411e6f4be0c12167d89ee022e.png | Bin 0 -> 80688 bytes ...Split-d8511cbb8658052ac0a639bd6a722982.png | Bin 0 -> 78951 bytes ...rided-605254487f94721806beca92707cfaf3.png | Bin 0 -> 79011 bytes ...hared-f395560cce9a4fd4976c5259ce8c67c4.png | Bin 0 -> 82506 bytes ...-dumb-6419ee60a3606e10d89a1c91dbf24e20.png | Bin 0 -> 78949 bytes ...inity-8d86655d36adc7c8de32114821a1764a.png | Bin 0 -> 79043 bytes assets/js/591eca19.a69296c3.js | 1 + ...3bebc.38ccdcd9.js => 73c3bebc.ff50cb20.js} | 2 +- assets/js/935f2afb.01d75be6.js | 1 - assets/js/935f2afb.445e8d6e.js | 1 + assets/js/b3719d54.058b6b24.js | 1 + assets/js/b3719d54.63fed6d9.js | 1 - ...c2447.250ffc51.js => c07c2447.7e8735bb.js} | 2 +- assets/js/ccc1222e.18cf1e58.js | 1 - assets/js/ccc1222e.b0cddc5b.js | 1 + assets/js/main.b78032d7.js | 2 + ...CENSE.txt => main.b78032d7.js.LICENSE.txt} | 0 assets/js/main.c2f98255.js | 2 - assets/js/runtime~main.5ee010a4.js | 1 + assets/js/runtime~main.c9439c60.js | 1 - docs/ambassadors.html | 8 +- docs/bug-bounty.html | 8 +- docs/build-data.html | 8 +- docs/build-guide.html | 8 +- docs/build-hackathon.html | 8 +- docs/build-hrmp-channels.html | 8 +- docs/build-index.html | 8 +- docs/build-integrate-assets.html | 8 +- docs/build-integration.html | 8 +- docs/build-node-interaction.html | 8 +- docs/build-node-management.html | 8 +- docs/build-open-source.html | 12 +- docs/build-oracle.html | 8 +- docs/build-pdk.html | 8 +- docs/build-protocol-info.html | 8 +- docs/build-smart-contracts.html | 8 +- docs/build-ss58-registry.html | 8 +- docs/build-storage.html | 8 +- docs/build-substrate.html | 8 +- docs/build-tools-index.html | 8 +- docs/build-transaction-construction.html | 8 +- docs/builders-program.html | 8 +- docs/community-index.html | 8 +- docs/community.html | 8 +- docs/contributing.html | 8 +- docs/contributors.html | 8 +- docs/dashboards-index.html | 8 +- docs/dev-heroes.html | 8 +- docs/en/polkadot-direction/index.html | 11 ++ docs/faq.html | 8 +- docs/general-index.html | 8 +- docs/getting-started.html | 8 +- docs/glossary.html | 8 +- docs/grants.html | 8 +- docs/how-to-dyor.html | 8 +- docs/kusama-adversarial-cheatsheet.html | 8 +- docs/kusama-bug-bounty.html | 8 +- docs/kusama-claims.html | 8 +- docs/kusama-coc.html | 8 +- docs/kusama-community.html | 8 +- docs/kusama-getting-started.html | 8 +- docs/kusama-index.html | 8 +- docs/kusama-parameters.html | 8 +- docs/kusama-social-recovery.html | 8 +- docs/kusama-timeline.html | 8 +- docs/learn-DOT.html | 8 +- docs/learn-account-abstraction.html | 8 +- docs/learn-account-advanced.html | 8 +- docs/learn-account-generation.html | 8 +- docs/learn-account-multisig.html | 8 +- docs/learn-accounts-index.html | 8 +- docs/learn-accounts.html | 8 +- docs/learn-advanced-index.html | 8 +- docs/learn-architecture-index.html | 8 +- docs/learn-architecture.html | 8 +- docs/learn-archive-index.html | 8 +- docs/learn-assets-index.html | 8 +- docs/learn-assets.html | 8 +- docs/learn-async-backing.html | 8 +- docs/learn-auction.html | 8 +- docs/learn-balance-transfers.html | 8 +- docs/learn-basics-index.html | 8 +- docs/learn-bridges.html | 8 +- docs/learn-collator.html | 8 +- docs/learn-comparisons-avalanche.html | 8 +- docs/learn-comparisons-cosmos.html | 8 +- docs/learn-comparisons-ethereum-2.html | 8 +- docs/learn-comparisons-index.html | 8 +- docs/learn-comparisons-kusama.html | 8 +- docs/learn-comparisons-rollups.html | 8 +- docs/learn-comparisons.html | 8 +- docs/learn-components-index.html | 8 +- docs/learn-consensus.html | 8 +- docs/learn-controller.html | 8 +- docs/learn-crowdloans.html | 8 +- docs/learn-cryptography.html | 8 +- docs/learn-extrinsics.html | 8 +- docs/learn-future-implementations-index.html | 8 +- docs/learn-governance.html | 8 +- docs/learn-guides-assets-create.html | 8 +- docs/learn-guides-assets-index.html | 8 +- docs/learn-guides-assets-ledger.html | 8 +- docs/learn-guides-identity.html | 8 +- docs/learn-guides-index.html | 8 +- docs/learn-guides-polkadot-opengov.html | 16 +- docs/learn-guides-staking-index.html | 8 +- docs/learn-guides-staking-pools.html | 8 +- docs/learn-guides-staking.html | 8 +- docs/learn-guides-treasury.html | 8 +- docs/learn-guides-vault.html | 8 +- docs/learn-identity.html | 8 +- docs/learn-implementations.html | 8 +- docs/learn-index.html | 8 +- docs/learn-inflation.html | 8 +- docs/learn-launch.html | 8 +- docs/learn-nft-index.html | 8 +- docs/learn-nft-pallets.html | 8 +- docs/learn-nft-projects.html | 8 +- docs/learn-nft.html | 8 +- docs/learn-nomination-pools.html | 8 +- docs/learn-nominator.html | 8 +- docs/learn-parachains-faq.html | 8 +- docs/learn-parachains-index.html | 8 +- docs/learn-parachains-protocol.html | 8 +- docs/learn-parachains.html | 8 +- docs/learn-parathreads.html | 8 +- docs/learn-participants-index.html | 8 +- docs/learn-phragmen.html | 8 +- docs/learn-polkadot-host.html | 8 +- docs/learn-polkadot-opengov-treasury.html | 8 +- docs/learn-polkadot-opengov.html | 8 +- docs/learn-proxies-pure.html | 8 +- docs/learn-proxies.html | 8 +- docs/learn-redenomination.html | 8 +- docs/learn-runtime-upgrades.html | 8 +- docs/learn-sassafras.html | 8 +- docs/learn-scams.html | 8 +- docs/learn-spree.html | 8 +- docs/learn-staking-advanced.html | 8 +- docs/learn-staking-index.html | 8 +- docs/learn-staking.html | 8 +- docs/learn-system-chains.html | 8 +- docs/learn-teleport.html | 8 +- docs/learn-transaction-fees.html | 8 +- docs/learn-transactions-index.html | 8 +- docs/learn-treasury.html | 8 +- docs/learn-validator.html | 8 +- docs/learn-video-tutorials.html | 8 +- docs/learn-wasm.html | 8 +- docs/learn-xcm-index.html | 8 +- docs/learn-xcm-instructions.html | 8 +- docs/learn-xcm-pallet.html | 8 +- docs/learn-xcm-transport.html | 8 +- docs/learn-xcm-usecases.html | 8 +- docs/learn-xcm.html | 8 +- docs/learn-xcvm.html | 8 +- docs/learn/xcm.html | 8 +- docs/learn/xcm/config-deep-dive.html | 8 +- docs/learn/xcm/fundamentals-fees.html | 8 +- docs/learn/xcm/fundamentals-multiasset.html | 8 +- docs/learn/xcm/fundamentals-summary.html | 8 +- docs/learn/xcm/fundamentals-xcvm.html | 8 +- docs/learn/xcm/fundamentals.html | 8 +- .../fundamentals/multilocation-example.html | 8 +- .../fundamentals/multilocation-junctions.html | 8 +- .../fundamentals/multilocation-summary.html | 8 +- .../learn/xcm/fundamentals/multilocation.html | 8 +- docs/learn/xcm/introduction.html | 8 +- docs/learn/xcm/journey-assets.html | 8 +- docs/learn/xcm/journey-channels.html | 8 +- docs/learn/xcm/journey-expectations.html | 8 +- docs/learn/xcm/journey-fees.html | 8 +- docs/learn/xcm/journey-holding.html | 8 +- docs/learn/xcm/journey-locks.html | 8 +- docs/learn/xcm/journey-origin.html | 8 +- docs/learn/xcm/journey-queries.html | 8 +- docs/learn/xcm/journey-register.html | 8 +- docs/learn/xcm/journey-summary.html | 8 +- docs/learn/xcm/journey-transact.html | 8 +- docs/learn/xcm/journey-version.html | 8 +- docs/learn/xcm/journey.html | 8 +- docs/learn/xcm/journey/transfers-reserve.html | 8 +- docs/learn/xcm/journey/transfers-summary.html | 8 +- .../learn/xcm/journey/transfers-teleport.html | 8 +- docs/learn/xcm/journey/transfers.html | 8 +- docs/learn/xcm/overview-architecture.html | 8 +- docs/learn/xcm/overview-format.html | 8 +- docs/learn/xcm/overview-intro.html | 8 +- docs/learn/xcm/overview-summary.html | 8 +- docs/learn/xcm/overview-xcvm.html | 8 +- docs/learn/xcm/overview.html | 8 +- docs/learn/xcm/quickstart-first-look.html | 8 +- docs/learn/xcm/quickstart-simulator.html | 8 +- docs/learn/xcm/quickstart-summary.html | 8 +- docs/learn/xcm/quickstart.html | 8 +- docs/learn/xcm/reference-glossary.html | 8 +- docs/learn/xcm/reference-xcvm-registers.html | 8 +- docs/learn/xcm/references.html | 8 +- docs/learn/xcm/testing.html | 8 +- docs/ledger.html | 8 +- docs/maintain-bootnode.html | 8 +- docs/maintain-endpoints.html | 8 +- docs/maintain-errors.html | 8 +- docs/maintain-guides-avoid-slashing.html | 8 +- docs/maintain-guides-democracy.html | 8 +- docs/maintain-guides-how-to-chill.html | 8 +- docs/maintain-guides-how-to-join-council.html | 8 +- ...ntain-guides-how-to-monitor-your-node.html | 8 +- ...aintain-guides-how-to-nominate-kusama.html | 8 +- ...ntain-guides-how-to-nominate-polkadot.html | 8 +- ...aintain-guides-how-to-stop-validating.html | 8 +- docs/maintain-guides-how-to-systemd.html | 8 +- docs/maintain-guides-how-to-upgrade.html | 8 +- ...aintain-guides-how-to-validate-kusama.html | 8 +- ...ntain-guides-how-to-validate-polkadot.html | 8 +- ...aintain-guides-how-to-vote-councillor.html | 8 +- docs/maintain-guides-polkadot-opengov.html | 8 +- docs/maintain-guides-secure-validator.html | 8 +- docs/maintain-guides-society-kusama.html | 8 +- docs/maintain-guides-validator-community.html | 8 +- docs/maintain-guides-validator-payout.html | 8 +- docs/maintain-index.html | 8 +- docs/maintain-networks.html | 8 +- docs/maintain-polkadot-parameters.html | 8 +- docs/maintain-rpc.html | 8 +- docs/maintain-sync.html | 8 +- docs/maintain-wss.html | 8 +- docs/metadata.html | 8 +- docs/polkadot-direction.html | 147 ++++++++++++++++++ docs/polkadot-v1.html | 12 +- docs/polkadot-vault.html | 8 +- docs/polkadot-vision-index.html | 10 +- docs/polkadotjs-ui.html | 8 +- docs/polkadotjs.html | 8 +- docs/programmes-index.html | 8 +- docs/research.html | 8 +- docs/staking-dashboard.html | 8 +- docs/start-building.html | 8 +- docs/stay-safe-index.html | 10 +- docs/thousand-contributors.html | 8 +- docs/thousand-validators.html | 8 +- docs/wallets-and-extensions.html | 8 +- docs/wallets-index.html | 8 +- index.html | 8 +- search.html | 8 +- sitemap.xml | 2 +- 249 files changed, 1075 insertions(+), 914 deletions(-) create mode 100644 assets/images/core-usage-agile-combined-4ef969fb72931430cf067bccc10c1a73.png create mode 100644 assets/images/core-usage-agile-composable-ee626ebd055fdf3bbd6d88d70bc2c110.png create mode 100644 assets/images/core-usage-agile-compressed-db4821b411e6f4be0c12167d89ee022e.png create mode 100644 assets/images/core-usage-agile-rangeSplit-d8511cbb8658052ac0a639bd6a722982.png create mode 100644 assets/images/core-usage-agile-rangeStrided-605254487f94721806beca92707cfaf3.png create mode 100644 assets/images/core-usage-agile-shared-f395560cce9a4fd4976c5259ce8c67c4.png create mode 100644 assets/images/core-usage-dumb-6419ee60a3606e10d89a1c91dbf24e20.png create mode 100644 assets/images/core-usage-dumb-noAffinity-8d86655d36adc7c8de32114821a1764a.png create mode 100644 assets/js/591eca19.a69296c3.js rename assets/js/{73c3bebc.38ccdcd9.js => 73c3bebc.ff50cb20.js} (59%) delete mode 100644 assets/js/935f2afb.01d75be6.js create mode 100644 assets/js/935f2afb.445e8d6e.js create mode 100644 assets/js/b3719d54.058b6b24.js delete mode 100644 assets/js/b3719d54.63fed6d9.js rename assets/js/{c07c2447.250ffc51.js => c07c2447.7e8735bb.js} (85%) delete mode 100644 assets/js/ccc1222e.18cf1e58.js create mode 100644 assets/js/ccc1222e.b0cddc5b.js create mode 100644 assets/js/main.b78032d7.js rename assets/js/{main.c2f98255.js.LICENSE.txt => main.b78032d7.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.c2f98255.js create mode 100644 assets/js/runtime~main.5ee010a4.js delete mode 100644 assets/js/runtime~main.c9439c60.js create mode 100644 docs/en/polkadot-direction/index.html create mode 100644 docs/polkadot-direction.html diff --git a/404.html b/404.html index 2e4281edd173..12e9d6641bd5 100644 --- a/404.html +++ b/404.html @@ -19,13 +19,13 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/assets/images/core-usage-agile-combined-4ef969fb72931430cf067bccc10c1a73.png b/assets/images/core-usage-agile-combined-4ef969fb72931430cf067bccc10c1a73.png new file mode 100644 index 0000000000000000000000000000000000000000..17f017004878ccc2c5ee2f753407973ea1b7cce6 GIT binary patch literal 78959 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 literal 0 HcmV?d00001 diff --git a/assets/images/core-usage-agile-compressed-db4821b411e6f4be0c12167d89ee022e.png b/assets/images/core-usage-agile-compressed-db4821b411e6f4be0c12167d89ee022e.png new file mode 100644 index 0000000000000000000000000000000000000000..bd56cb614d6f9517699c981cc915b53e4ab1afd5 GIT binary patch literal 80688 zcmeFZXIN9~+BF&i2#P35?y_>}rq)U-rqzF=^_YzP9q)YDv z={@uSA>^A```!Dv_P1gEJ?C8S54q-*#5tdGKX)5r%n%JVMdE8T*FYc;@e?Jv=O7Tl z8xRPWiSP>W$+z7AaS#Z{%}Q2Q!$ww7*1^`nS<~^Qskxk$i=*vJFAV_@h&|fveUoyl z23ebW;q#wj?{3i3@rTF`4_p zPL3pU1h-~V#W-p$J!ccNChyL6ETKhHUFr;5Xf>!gkHG9}@zE;ZbE<~x7kvVQ(=`iT zmw(RUx^|9k*w`O9oK=6PuiD^FGNEpm(8rVDo(|RwKpTx@bSBfF;lqz2s43>6Lq6Dr zU7clR;IrhIFPLlW?)YPfCqq2_gIVfvyx!n7>!8{vTzTRLz61%O=3lA;$7eG}bQ9X> z)}QsfB)vx!s__hphyN?!Y$#GXlG|C=M1v;^%+)3LLD*LUc_?jQC`nESS9-ey2K(FBwn){UB19(4ozAZo7nio3 zKdN<1(-cuDej4bV0?B4mzG6=ObdFLv*Tb^2iXzA+Tl30y?j=caC%TUKv)dico8O(& zx4!Ebnsw^buor0L$O*-~A|QOf>IcQIuJM8Q#59cS+v3*xAZOb=J`eOf6mVJY5pkhx zIY&HX^FR(Ewh&|6d~6w9Gp4UJ*Jr}m;Vs&O%v{AD^5tFcNYw9QC@shPkiat5E6oX2>v~h z|9Vj>hllqj;YXk=?d4A-0Uh1A*aon-HVFY9#~V$sCj4I?^zWT#0&UV?zP&BCZ;^nE z@7^4=yZniOL5ctSw*U3we+}wS>;GSa`d@j)fIs+uW5_GG)yV$7TVB;h zcDPzZzIQL^v#~MbNH){5Li)XkMMTZDf0)k}W6e@6(7>E27Q6JZmU_xc5Xx_wMfx|7!xk z{zZm{Zd=-2`1Gcm0^&S!b=F0q-h&~cLYYAJ zK%iy>75L za$M!g2RVunASP?3NfI!}-LEDht0>Rtf)zVb171#_3^=X&#Fnk1g0mjHk5tbn>S!-i zA7k#UJ!)MOqaKo?hWooVqQ2E_DTNwS5lPP|VUXXvE1z{P*Tr?Fa#qX#mdrtkZvQa) zIdJ3NZ|mAp1UAL=D2>)FHXj6Jb5Q#UB`EK&iE-q2De`c4H`l7|Kk2!bpwg67m`{`T zhX5p{Xrq7`VnDA=T=i^3k9I`0v%XHsI(|$Mw*2iiH#ZAkax4-N>KAZilInHP5=LBc zSB8mP?>5fdL2yTq$1Fq2EHd;nq{6qI%|PXkNvRNwd8w#aC*v? z2I{KeZ7?|_$QT(Y(mtBeBu>L)lXe6pMqZaY{UyD>16!SR*@Dj|KR|5Tg-7Mz~5h{N2@wDcYn_{d(H#tStI{udm z8wZ0u^VA@YlIRlp$ZDG?^}3R2B6UgFJ!-xz>w%OBcfUPjE!|n4vQTp|?sJ<8rnmM@?>35DPCd-B?goqemRp*(V5X*#NC(EYBVI}>-P zBXUEbJF+X4xnLpMty40>ug$+}iu1{@(3G1Ai(;g_&acNpskR?tl7x-?#nyEXR3%)$ z)}X{`vMd6oyvFkFY2L+iiuZ9sR{w}p?fo-YEaQA9q%A61gr!P7lpIaI%+M0IV{Cl`>kbjCO<;%ge1$88S^J$rVUA1ty!u14WZfl3jCM7)q2{_@Xt(rz z&!6$erJf$`?`{U12CsTg!nN}Rp8H!7s-W4l@uz+EKiJF{1nlDucn>XURts;f`P@q* zJ3CKvS`LxTmK9X@`uG@3&Q-csE&Hs&_v8GwNo|SuDadigvB+x)7TS zR8nsfuqS^Pa-BWFWAlL2=I#mSW>%gMFPyQipbPa%2GiMYh1(+3edYd9e>5eGs`MCV zuI(754=-Ehz-{5463;qJCS^qzxk^=8cYz%3y5}1W%x{6zU^10d2>BtTvi+z$IyeBK%SgS3_f?>-MGHIlk{3AZGq zSNgDEfNz0K`cpJCbJcThLiD_i&Gf-ZCey8pix@3fixR>l^|(tQTY2)CV{b}vRQ!gB znLSrpuxD%3?5)D>I+LUkF$V>7r8$3$luW{q|5wr}0XFB6D)?(Ttd3>h0vs>lVCCcrW%4^quo2$l?>fJM! zOfa12V0+`;OtX&zSHp7o__3*n0(vrj*Ke);v<5CVseD`pIWAO+`ao!S4Se#nw$qNW zQQZD`r=gGN{D%9{J=59%j&xKYFVVTqx4>bA-$V6ZykrZQ&{fh+H2u6LfH7G5P>C#< zD2Y?h0Yd6=)<%$pF8-3_Obu4n{#br(yg7VLTz18?>Alw6b9n zQ#Ju7wTZpj$d>C`3`Yl?_l~0mP|RtY2A2d%rU&o<|1d8U5yJ zq*3$X!>{m9#}xH!m+b%@>KkbpLY+a>!FUeXM>b&?vKYTM>;6?Pn9KzJn-X+HOy7G zpCTMdu1~6W8*C2Pyj%ZB*Sq zPH}A^Zz;C!je|<=y)Q;pwv9bkpie2;!$6L$LDjWKaI{jpbFBr_)pLKoATb|-CH~8r zDm)5vJ=p~FEf9&ghgI(KE{2#)4~60au5YiCsyj()si5)!u|qdCPcsXQb);v{zwIb( zp8W6|2>71byuf~0lf}5ar4!}R7TxbFt*Ji6o${)iz&Ms8_KrqAIE(=_d!|_ux-?eY ze@uV2fsmUdhFogAaIoU}d9*0%d!|ZN3LI0Q=YCkPl5`#VluU0J^ z?<|qf42hpq`7K5JkG;~k1MbH}p#(IemkSH$Cj&6TvX69s><{&<;Zq2K8W$ikMoBWtCr&Y$o*VH3-{fqSey)QS(TDR(?yXg{)SFzwbGO_q@-jN<~O7WQ@2GdA)CI`3^X@Ox2T=sbb@hp|2w z6sJmqPbJhfzWgXa$4}0rQ4VrE-Flb2M7+QvYlL=Mjz<5@I#U?TEutrGgmXeFn4L$o z!)Ca~*dACwWANYT!e060J_Bw~3&gO$v2egUO8anKQAdW0WY(AQyl|Km#V+wQ{!v(%_RcHpuP-8dAu(_Dkr8|)I zI%up?NMUNrAPXJIJy6RbPUe>TjFg`lEemu80tZf3&qZU4i2P(pk0y)opn~J@L|@W8 zr|vGLV5XAhA|dCK={QyRVP=1aqb?>6MRxn5aU|rnv~=1Ax1Ux`c#eI_pD*ToWbzfa zNivwbmR4g2+|?~ce8PybBecu4b|QP|0;C2-0Yoiz#0a~s^XZ%e2Iwy!;>U#Dmx4}BMaIm$B(zgv$v{y%TOK& zthKi3EH!%Fwyg683Kx(z)0(#z7o|BZG9V7fO@6&lzwBZ zT25@(4OaZRl2|s+`_(EqXj85KiFM)8UjZC4Cpi_a1qZ z9E%49w6W>Uyt#t8E_cde%l3<|#yvOrh1+7~aeURv^P33kJu=9_^14rPND#4|i<&g87!J@SD@zuwf17yCgQ^NZ+)<+DfFbN0dkCZR7Z zzmQ8_VVt*e5<77617UGW1m7B0sU!$dINBoEs-S4L! z(+u72MQP>d!2zf0d0dR#J@WHa!jtxJx-T`h$-4%;YpI=UO{vH0eXCD4SuZ*+Z)EC- z!Vl6na8j$Q3OHzy_mM|7@J}4rGgEMy9BxZPm|7DTUIE(^5?|Iba>^l5l*Z`MH6!zL z^6ZXU#mfE=e9&-8Ja+F3k`^H*W<0aoZ$j=v0b(@0;-vfMeLTRKGt-+pd1|FTS%=3ITz_iXkMOfCLu9Mv#@?T8+#oX2HO;jkBizMgRC=o`Hy+F}3*l zh(Rnvhxoz{8$)0CLuq$4$l#GaZp#ziML{58?H%h#9)pOxucwZ!y&s_s*zB`xu-i}V zPx3XPA%vfYIfUZ^73Zp_BXV)ZrH@f92wtq_otTFMKR11%;q$nEx$J4*p&J8d+3y|E zzXpdMRi?CU=T`;RKiqv&Yx{+v&bRb-K#o#LQ|_E$>UFDs9QOi|aZpIP#bg)GI^xSaUr?Bitk?PWCGh(vQSFjM#BOG#tOvZl*93f z8$Z}wm>j&}oZ0S6<)VAYs2=y@I8;Nrn1p%V;|mS7#TS5d`h&B?o^rp3tP(BTlqay? zbJ_0GeHyHo&i%=y&t1~RthzOKI$$1_rx;A0?!5AkZ_At&`&U-13tvt3&j^%!gO<6 z<4RFSuWL(Z2_h6qYGEP9GUyf9@q8wEX~4Z>v}`kcH$IK78Fo~Bns>aT=4Ydx zdUjgD=XhqDBda6A()2;M`8-+Af9upry+k<(YK$7CRag;DKVlNU_>_L4NE|M6a_;DO zF4A#G2)JV)uZYIOVawGQ`>ZD6+P+m!UP16?$YfPn^{p9fS|Exc(M8B+)^W>n&ZU~v zJLV%|8?*O`YK>YH@pFBNxD1`qeCKLdp3Oi|Lf%ox=lj{R^T>&1zyx`P&Scg8pB;f`R8;AE1Ov7$>o^Olu_!6Y*8 zW;*3rnrB~Gza)cdimt*&Z^}K2D2FiskQ*A+9@w7_+2y~uAcwY*DJhDlC5AE!sJA`b z)tkbjP{wWzFpFFJg2JbIh~cEUL9aiQldNMi!}o;*)X&qrC6EM=B;jN6(b?$Pub$`4 zenQ2lEsscY)w<$>66&ooapCK(FD=(U?k&dlOL?&$VM-j-c%*nCLz7f%La&uK;9dqr z0UdS%48jKei-L~aAPMHow2Sg184mn=1aFA;1xBnm9KKfZNJ8J<1Vx3LX|V-p-mTaN z^Se;bdR4z!FyzrqI}ij)qW$pTTo+;wganP7OJYJTVrNY$u)*a?VCOUpm%cLlj#Zo5d9G%J-!i$Zq z-!zT_-}f1aGjb4z_r(u_9BH&RXMCKiW%Fj5=e2c#s#smx!_IqtBJW1Wwje0g(4l&` zLR?&N+b}W%=${lktoP{E8LC6i^wUK^O)dJ#drGy%gFhZ!&x8CdUXKqV5}W;c(c*xh zZ^?dWTPXT--%H!X`mG1j1LM@&k5Nf&0iC9!g8a}G!)pE{ zQ;+K5Ce%1l@M8Hwi@Mir&coeQ$Z5?}}TBq=lw?>4nf$6RNzew1DPtHYuW6^V~lQ=1+A=AxS+Zbuo3 zO=+ebH;r4$Ojisy>kEqS?d>1?8`_GeDqeInNtE#KdDzmerA!HC91wElww%eE=GBFD zGXA5JG0sXYMRPZVSDK!C%pvh`9B8PRlLaZvZ<-QVNV;#nsa)9!@|cl|PjgS}%bNmD z&;T0Og)m+i0Qh|UR8_XAB}ecF??i8`ki1Fnc4HfrcCGh#<=(zUl#d#&Nlz&&o^YqQ z60DdpWZN;Je&GPw-^z^SMB2E7AmXx&iXWNW!x}cytobT{X^Lz5@L0kp*lx%N@TczD zJ{l}wne%SzZ{kt&_tT|A1+%?Q#Z;dZRFwg)OkpE}c4aso3wge}ZKyWX(z(rkgYvGf zq+iFnYxxd0qo=9_G8jTF?NC7UN%Cb)BW6T%t1Ir)qoJ>wl1b(I0xr}#r)^Jz8ct1X z8>9AnKS~~x*+(6fVr>Bgl(M}M@fa6%MZ-Cg3C)qb@V{m#zqMW;FoLy- zCu&C>`Q`KFfIbC<1V{oXg-taiqj2Ub=Sd-6_k_<^>62_!67)|BIGK%rtW2&yeSyz2 zS7cpButN#1Fb~;MBV_}Rgz-H=~wc%DCmt+H9<{Mq zh;OnYr2XNVWv7Q@sUm&o#n64Bk?gO>-Tte&qOsR&X3(2uO3k46H*k$(515LLs<_s5 zgrkaSM{BUej85$z7k3}J6y_QkS}e-x8M|{cX&#&WA#)YnGI8^pt?X5G%c)f1q4eB- z^w$Ja#X(dhfK5G26JR88^T){0sV_67r=H&QP*`b2Wo?c2#(JbBsQdKtOqIF2K6F^2 zyEgdHgJ9(WVu!9EdH205)oNwlVX}y^$byrp_z+_dfb7v5wRaU=TxEV>dGBtml6OR> z-1;Q1MPE^dUVJ>cY((n=<`{L{eZem0lm z_8-Htya-e*L6%2A#~;G1^xwQO838VjO8Cn5WHXM9Q=e>Kf&c*+Sgh%bSX1MKKcGHE zDp35Jpqnb|nJiuldd#1?zYT8^0h(4u z@2d|O*Ho5o!gxainTeib;yzG>?oJ0_tXz7BIVVph9W(v$BKAZEMQ z2S4`(P->U`iSX6q_U-YL%>E1!9PTI>1O?i1mv72 z1&}*zjFFXj+rXwXa*No$^WAELFFShhW43fNLb5Xg&i?S3zLBvN*2LH(Eymy}EDT#I z{tTJow|C5>_3NDeMsPl#GSIX!{x)5#q$95><>vXJ$KA95&jlX{g{py$u`Ak21AXiV zK(Z(g`AoT14~VO2n$krs*YG*mtuR>tITf&|g6%^Z;`2!Hd*gTvryTUy-G2u1EYffC z5uZOX`!Vlpzs2$TV1`L9JmY!^<_mRmz*GK0_5;+?Ky`npXYC z6LD;RS{*H&5#HX*nRU3V+Ue{yTw>Ep_u)#hi}u8gi8aU3v?!J>r9URD5X*Hr2e1Zr zhNRt}u6>IM$%CNtJ^;cThK$nK)!0Xl8UW7kv|7Iq3-+Zqu_>;QGHlUH_DXbB0NxQ7 zcoLoV;ZXDPTQjPyXs?|_Qx`ggizck~PG+XdJSjeRmnTGql~9F|I;CS2$?)Uo=!-#< zFM~}+T|s5X`kI5ZbbXHE@`g=TZWZ64)6|fg_H8DHZR&TK0)Ej)V*BxMX}ws1j*$ zNKXQSkw|y&q{~==TVjKJ)O;d%be;y&Fo=4;cGWKu&KaX83RM`4{}eO$=Fsw|_tlx9 z=U&3w7m~nhA3!^Ii_)L$784cr4&Xgydr$A;2`!#FRH;_9Zf!rpuaB|5*gfG9HVQ%~ zwYy_D?)9s3ig^~WU5SlWV+DU;!gi;{qU_5wsE}BD28u#Y=%uW0^SeKRj!G`8Q9oVh zqB&t)h0GH$fc$n#`lyAA=eW!WL(04*94?#((9xBtBLqP9SgS4|(X`kDdLjBBS#aja z<_=m>{5QHw3^F>qe+$#Up(g(fBs9 zIu+dNviY>!B`oqijO@`CXBek{3;l&f&zvdP^+B}{MCm%DFrMwN+H!7cyw1C{_ka7^ z;zmLC))99SC&PI|umHA=%!8fSHK&~gc(-Sc|bU)<4C4xNS@Kk^tOW}Daq09f+AyvZ|g%iFKN zJhyK)C-Yf1_$hM%ZTY`J(;ibI>EG_PX63mbpX8bR?(KZCznLSMq7`jvIdW>cHo0$fIvPU`vg?Ef$e4giRhJG3L< z#Nky=faP=vP^VR+&o;7io2&rJ#f3@58xS<%{!j1j-0_{_&A1#R@u+qngF=4N+42RO z-zi0w%q>MUh*WGh%PBh1O-~X8Hcl zS}$|MlQ4(S_4fK6jt2h~q5(b*;SUdGf@JWo#c6{?ueEueQDVgUB;1)~liWL+_Y&ZA zLUs{YI@Lv$IpEs`u5vZo``KdJL=*smRL{$P%q|+}c~1;j{SRwr?;42h9kXBH?vMU+ zFIPzy7TL*C7`OXbca6fN-H5RaHG*Fsp z*C>(D4UoYQ??wS?dKs_8tqz3GeV}AnKwTEexKyE&Aav#D(&+2|iTcQkZHeiMrxy=$2vt_q$pYBl31Eq$PLk1YEZ1gb; zNS#`hR`C6oMWjeOV8>>Lhb3?tRfBRD&={A)yF-Ttp;6dUkSKar;iJ|zRy_CI_8yK^#^F5&|eREZk0p(8zYHDMPBF(Ab+LDeeIe5meM%QH=S(4`@#&ule$-Sp-C?`;NYau7~>ZUJE=4 zsVTRd%40O3t)tOo;hMxvbp7?s(W{X%k3sc3Q_CoESZt#0HhZKBI%@QJP2NKEV*fAS zCA6Q{s_jgrmaJqIIci0Ttb3tJFT6Q}*lkShM5O_sojV3tVP;1HioCk2bL*NH)Yp?t8P3sDLIhad21*pHTlFrfu&Br^Y$W*@-;FEX`A&zoYKQbs{PU;a{|~;I0VSPYF?R$B1bGuceIw z(+Ta3tiyQK?5}WFx$(8<$chf&Se~_EAvD)ub~eW+gp1ovzjQefHR7=hs(?=$KY;0e zZ}))T8tFZZJ$hZSR{B%2KkZ$*A6qt1rXMhhlj5?~XZ;k3lhla3ux};v(F{DoP5i9J zS|2FgA^-%qlf9HP+i4+mk!VvOAPMFHQItR`Lc+2${8ZRlVkEgK?^{4wZ-E$ai|y5x zar`^%%626IMs0F@+5E#Vil@P^K39nR*;NzQkCAb@qpxr!DC@z4vv2%@x8Is^+{jbD z6Uq#roJ4JAUN7l8-6vZ`xoLr(etj~DDdUEpM5d)0u`9{%QSoBAyAaI};VQ^)Vh{+u zc9l@H!{-oyxA0jlAtx5%#@}V5diyNRng^alGkt=_EyDyzQ2}m1Vb0?oJBsHal$9LB z5a8W;GxDrHSn>u{eD*f_BYDaYB0N&`m_xz<^$!lokgLIHYB86Gx&o+fJoD%%RR+RuEEmFS)w-X?vuDdV7q+ zfU@Tmfrg8-SR(HCYC{tMdUU`bN-p^XFZRWMLu7PTl?=f1!-?=rEmF1pkf~LcMOWrx$+G^W}>z zj@cUUEjLn8Fs1K}A~POW8-434ZWI)|l^Ja&c^jyk*stH{0O-18G3GfQ4}yGRJ~c=O z^&hpFSU6ly+m3*e8fByUj3y{>z?7U=IaFTY(}3C><$hNJcD9R`9$RlF5iNE%`Xyi7 zg8yfDav>uDr8CF1UcB1aa8n{~5wKn#9$}HyD8)gj;43)Zwp3!m0 zy|iQreIjKiYh z3P}F|uF5Pr4~xX#j(4=dqtKa)xe6KsdU;sc%4iC2)Y90OsN7yoMW1aRu9C@1dP&cr zhEj|ps&3iJK&>W_1;`c^#(>b*V@i;44O}IA?(DXHY2jgP$7qU zp3!D>yk&#iej^jb5Z@+2tkZgMEGvDDlu-=d=Fskj;@Dc^(V8BTxznl5H5}zSj-u>< zF&Z_Ghr5cal0M!h6^4wjV1A#e<1KJqm}m#b?^R0TGm}k5nmS667;T;t-o0$vXytA| zBl>}B&0Sk+Z7F3r*6nr)KU7v^;?8BGLU4 zkB1)0N(w4|8gv~fA*UAhkhA1&h4H;>S949fkc^U~fou&iyGuT?PRl;VR1Q+qkD2IS znB+J-xCYQ#Vq^RB9~1m;iT_bls&K!@3*L7dc{ZYv!X?CeonXcg(70}7S66XZ>j*}) zd#;aF$+?-%47;h^m)sx!I*!V_`8^~@7a(}F5Mfn+ePcQuL5vN|)n~(nS-GE_CRdWx zxMtCtyQ|)(N&vfzq6sCI^~}*ho)?y;};VY<80+?(}h*n6Hr~GA8-FraBwOyp%am!JpOq zNn+CZ&X>;{k(N@zXzDcDSg5{r9vo8aldL8;oMCh}nl_nyT`$(xs$uZ?>AowEkKIrXo1Qya@APiLs5AfN#d4;3CEfATnfQSt8N5ziv|vav@1e*~nzppFso<1P7T<#XeK z)HC$syFhQyud`X!J2oInY3a^`nGBn-fqH>XL{(5M+(G-rQ;hL@F|`ka&t%l?QmoZa z5~}FJKO2AN@UWSr$+qe)u!K3Qay7gA4VR>yBvAdcbAWp8DzRgGvS57&icj&`cryvMUe>d_{k%(g+A%jbJ$Ziaf=v}aS!Ra75V%| zi-x|?w6M-zq7lk(Q#b^l>oE%NIOJ?7s? zLd%$Z4(pRPefbo&5A`K0<~qK{*x&=L&jP!EufH)`V1nQ>9AoG$(Kwl0`W>!<(9XzhlBzc5yevOCS_ zFBIAucJ^iRs$IpCk6K`INO1GySHnw$|7L6q9nP$9n?V`$)A}-v0*f z%dFu=8Z(w5KI~5o3DBRO9Z8Edub|Q!TmbUZ*%6(gdnMJF@7|fQUq6hGGOxN1QT5^m zS^vgceWfepN{W_Ah{`SHw^oYkNeG*KY%WA}=e-&-iD%95s}0=Sv~mW<>fCwu&6ES8 zNp3KUS=T#Err%w}phH%@msiJmY`_WskZHqvv)^epH^$QBKL(V!`wS|8W~HO~Op6Y^ zX&QY6`d=BO6c7^=FCH}qaU{{niRCl@)w4IYFC4@O4t*h<^z}mXXB%!M`fpG)QkWNO zhrome3$IJXNyY9XIA_=Z@A(lBghr)?GzItu(4o#2%FfejBKpWB%FqA^{(TFxk!Ly< z+zbe3PQ^(*ChnEy;NQOsnl3Gqv_EY^$_Z-`liv22+%*y}ahkwhT z0E849c(F>x%Gq)b;j>lxXH&C+{@o{&>$U6fGnvZiNegpKp$Qv#rk zn9M9%;mQsqrX;HE=h|$K6rgETH92Q{pQxA#kTLJupCB*?jdKo&ubR6(&6vtLgv5)& z&DDw0289;64qH zLw{WNpFJ;XKwesJGe3#hIRZ%G=0#Edzjnt_(lCa$%;>*S2Zn%gI~rcCIQa3@Bk3~q z=nicR=0~OdGtyhA$&)^@Xt?9d9VIw~ZTN4{M;D5XRlX{tA~@eOa5{Equ8G^6A^N@2 z{p)75fUg1BP z2jdZ^w_0YR29vXE2;x&`W6ny<$kN17EKj)t#bl?(I`_=n4(Hpj2vCnU!wQU2WZ z9*o_o^+&2>9qq_z?Eli}1Or;_**&OkM`(gww`h7}fCW}2i^WX-x~hLMMWDo_zv0~v z=&51MX-W61F<~O#_iT8(v1&RksQgXPpPGl078`zlAj-;#9aQ{Yj{fJ?nMmO)coSfW z*Bn7U1nq^rV_I!h%_mX41QI;2vj2%Y6sk$7V18{ytB;ymt=d8)Fp5Y;mYJRZ>YM&G z@O|zFp5@|4=uX@u>lERVa64%abpWoAVZFv>4e}fUWVy*TU;1i4F;@R#0p8p7@BRJ1 zFZ9@<0LAnjDP$@s|9sDkXKtC^=1*8j6^q&&ZoGKat==rQ;09>L{uEeUzIqgo=YGO{ z*{-O$M(Cy$c6DfDPQPH)VfUY5?=~gnsjek79GODwcG!^_72t6>j@$D18rhYgg_aJ6 zF2k(D+-}pujgsDfs~SZB69;;ir{P1tn$h+-vG$iLub#5Lk5rpF`ElN}RPDF3{mz#M zE46%%2cTVzOBqeV&L=Jj+mfF5#b9L(&wDCk|6&vWTJ=Be#^mZ%th3A#eNNS!4b(HH zGX@S+{ZmXDPrxf#rL5L&txH>Fr|E_Ky5eV@!OWpacP|AcSZ`5@&XUvLluD@^&CT$X z$I>wX*&v{EJy_uFK02R)-?Cs7*W)mrd~!(`z{8L9-`-`X=sN`4&%*BMG|q>zdgj?% zFWa*26#$$tczzhq%;yUT)hM&!Ut3;sufm<-xE5&{&6vUylu!6mm? zx~oA&g_SDpE-%^?WLfQp{y!qdg{3X(z;kAczY}q?{0tDJ?YB-OL)_1+wkCpxfInRY zIrLn4L!joaYTNpU1E7t#3o&S#8*_s0k^LAOlPfM@De?9KTay2$fBx5z0^&$uN5yVY zdxSR#@*sos^Pt2JPJRy_y7sJV4K)oFf?tyeBC;x9W~QO?E-1d*vwb zVht*(DMnd~)0j^p^%;^B77UW_*S=wH^B{)X$bQHR+P}EfT{1<2#Xr~M7bkcNqt=&C zcL7y5+~m3kYrnL9j$)P^H26#B4hF!|09yDv;%aBPgoq2wX}6fwF|AY>_^H6m?!OL z=xE`77TC5fz}X8UMM}~Gpwm$5ms&df!H<~9nprA9az#UY+&A2Q5C&R%UgPa0$cE^` zio(AARC1MS+I zRubSv6Dd>3d7JP4nYxY~KfVbM`%=kAoh4?Z1NU>IJ6~*d0z%K-P)dW8{ik={UvVC5 zJUP`v*B3HFTy{&G#H@T!X$H(_{+5suNrBU|p^%vi1Lxcz1=adyFKGCSe`eszTn#{5 zdd<*x(Kb>L>NI5snnKm81mHk0?2h3X$1wgU?Fk_+RExFPP zY6dIh>O>6tLaMB~yY%+kHhN*t$lw zbuztL`jv9hr&f5aulcA~1WS53e#}E(RTwY7p-LOe@cm2l`2!`~Usf^?iOp_$u-ZMH z{BR>!5@5IWNjb4&kNUGzNezAA&0A|EBLbf)&$0e5crnJ|Q;rL5UXuYO$9G|!<-&l< zG5R$oL!d8wg`Qi0*+xMi8-DVj5%Cb=)$h~iAy~d((f9B^p#!f|Xq8rkvfogfcxF4l zXns5Yogv9={sZem8u%yfLweNNAIsJp&EBfEyG33z!Ly1{Kg?{JJ++z-{9%*5&y2V} z_>3u^Y`-3W4<_;I@7X@Dwuv~9cCv+88_I%k@JM9->mMi`1>qN4+NuK=%e}-<+4m$r z%%E`uZ%p&Pp|l_HOqli6yajuN%!*75vf=Wk#z%`xvIx%=A>FxQjcV5R4Ti27e9>Bd zQ|5!1=}wJOSJ-KN#)t^y-Y0RIHhqYc#mLXw?QWF3W3y$fWMm8vhwtF3XOQSl&9#N` zSwtq!{~R3VYYQs6;hTQeB^%98|D#9~=U^P2c*vVCF_LZ!Gbsj@eraSf)2_~bvixGo zxF)s)Jo8HnnV!b)`%(2YLxSfNfQGgFy3MZ&4V`45au9svJ&{*)H!^U?>Ts-dOQ06& zUG<}V|3``u8@sq zbxwkg{dtpt*`dX3_1v6;YlB#+f#1-*x-(3JL8^7#@^}vJ>QK`@FZajZ!=9O}Zk?yC zip3#zckPY)V~mj<4hh=GZP+5jjB~b5b@XgB;#D>8S;H0Yt6Sp}-DQDe32 zgh{5phc`ZS_~n;AK!yL`C-mn`-@AcvqToL*Tw-FEuZzS!Vp0Wj+yrfyymGzf8NnF0 zYEzLWPRq%nzBNO`yCw-ygm1pnwQE28S>CeWvq=n}(?HFxe=N9@q*8t=;_yC(`!Hy} z?Z@g;{8&Ltx$)jZVb$IWIoDcyf4?L_U(cFEt|zdz`=Bql)$$uQt*S#NS z*LRu^7bS!!=;tyJLQVy`F(=NC&Lxyxg9$dNQwcMi<^Jn|{L?t0=IkWlNjP-0$QMB@ z*B=t$g%3=Sxq2#q1{sysIgYxrY7Y-L)#*XTmNfngsl!oi5Llh1QN;BoZ{fYfpeSSJ zPr5~+iIfz8Up*BD{ppI3CH~2TLJqp9msDIr`)oalN-j~7kA`G;-0=ITF22RMgG`f*i+90nxn{XG1ZyQJVAzZfTa9>Nx%_$YsghI2*4CSn z0_uLkrof^*`6t|__xx&^Oeu;P{^Ldnk|x4mzpLQEYY=bjD}c1=Csl}-Mq)OzO?*}! zLLczy`q&)Tc`&sO-mF>I`!yTrCow4@9@0;hwaeFP7e78~4QA)(N7*&^iIzfTk z)pxzIz}>NRi=VYbWZbf7HP5iqwsvb@6k-#}fNgqwMz>dwA2je!Gj;!m^Xh+ccjv3? zV=5T(Deu4zcg{+4n`3x#SAc19)xnWbOSh)VP}%OmSe|9CREZ21ExK{?A?MZk2ZfZRacuj1MpAhrjWq4q8lF0KzW(6Gpx#QX zH-S+_y{vUt8wzI#Yt5?+6V0rITvbNw8OhgY?OKbGQ|=Bc{mc z^bv#?@pu|b^8s3v35|s60zc&dpD?KrKSN0(kE*Skc1OCenAi6CdCPn*5pm-XnGl+T z+Cq|sN{A}v{dAA>CcVX5V9%B3Z@TK{@J7UmJJ>b^fGtoObwCNE}EO9@B%bLT9S^d4#217w zG!|yE6S}qWAUaU{#~O3J=^Nk3)~#e`f3}ftI-J3@+$tv#?FD4D#gPpRS{B^tAm)lR zk%DxZ`gE79SOZn&>07p}snE{2=DC`R`6U0mB1Qr9g&}sD?A-t{^0dA}Q1J=JZXLLZ zK-~SA&9+|Z`9KZk{{-j1DYe`bn(vU0hed)`2Gprv5aBXXMVd4>Uuc>BG_j#@P+?{w zQy6U-^rJWxL&4NohCQ;J+A8ha;-sz|2F;&5CePvO-9$v0+{Ti>_i2R@Y@N5B1bxrw z-l*b`eS{;6I0~>Fe$P*px3o(Wp3)&U2%^kkpA0*qLTL22UxR5kG4%s46qxo#RP*wGsbg zb#p=~q#^CX;3$f72(|xG#UdXZ9 zm>GrwewTpUm88Ev|#2b&oU7~pe2L})-^PC!Ab zc~(Ujx31ah*R?h$&(+V7COpZ|BJDC~P%l_%wuj_ykWsx#?`V}64{WB4=MS(e`LN>< zRv;GmRm>?>DesAEogTanae$GpBjiZ7cl!NM{i%5+hvy^3YJmR=0y&dB^*No2c{jVC0^hRJ{9t>OO$z>kNcU)Fi02Dg2JI zP0Z%Z_6xV7{T!3M~KFXWNeMHm3;fK9aGd>Ul~*LDn;D*>J(4+d^V%8aOtn zbWxr)L|e^5x<^m*QBD>zp=Z^x--<_R7UZQc8O2QPfAD=hX|N2mZa4zk&SfJ5S-*Td zQ5@WapL9ky8~bK8e*m@Tko%5Hb$w=1pQ|q&Dgw+u`xs*8{IO~ede=z#{tf#o0TNW% ze0Th?y%m~(jxN*t?D`}NSZYUe*%o3V6W9VH{}QHQCo|*{sp?b0y;M!x(Sr;Qm#Kuj zse9i$Gs*|qng{EwU%tKd6~|PVNmM#{a|AUJJHRpfJfU@L?``15mj*S23V4ZW9sga? z46AOA>(*iMzD$er`W1I%X8{)6@97|a+{9!xEK61(FY2EpUyROW5S>kmR z^*F^vjNlfc9VveUxMcChi{h%MB1b3Du)2}5#<7CqpDN6pj3g383DLWkE6H8rHZ7ir z@?M~(;oLwWBJ3p!47m4F!WNu|=oW9?5E0S~WY`v#hI7BVlpJEGNfn~6bB|x`^74Tdqa!>Z8*Bo`{4lzjOJTJywn_}`+XYZblOiI z??Q093Rt6NUY0y2@lJQOaap!_#B%uso@*T|Pwb_z)N#V$<2*4TuTljEGMgC%w88y{ zB4TC6J1ssV(a35v)H^&g|M4#)+k(6MXEG@K6Y(sJ(oO%op)=G;Pv@ok(EipqSJ+-_ zo+)6mFO9grX`KJ?!1$)OMgJ0=4i=`GcxO7y>76^4CPxest@K{A_IN1|TH%|l@Pmg* zn|I^L%`UTrli9MjH%B$ADipV^+lej3rS>L1;4xPBbV9tS#fB(KkSXIGQC?kT+!FL3 z$4lae=pr?1ish77TUqqCoFgM>U&TY#RNvQoJM^#p#f>H2xc|C4N|YpU5iId|Wt?B> zOs63G)e;_$0r`XYw5Np~BdB#!*GeK|O)1Q@Y}}BXpJ#FAHPkn(y5^&W+&bY}4Jq?{ zcVQ-2h6Wa;5xoSud1boOxl5m$7&d+=|1u~twMrDQCx!+nk+^rS<2VhmJ*hFdl?003C}`5IG8Yz(f_<oXVRL_=@Ptw}-e;D*F-1pm1Ubl9g%3j73 z`1Uc|BA`bo7o%cq(LYvN+F$Gbfm)4DGnf$`s9Z&;VBRg}Ohpcz@SK-i@e?214A)iT zeyRHGhIVs>#k_=#pI~YC}O`k4p=cZ^|t}(xO-vO9o{J#U5~oEqy5o zq;>qrL}AN$me2JY%*7k%sUND{y5SW8Z2?4?^vT*}tEsE&Ef?vc{Y}vhf(2z?@OsBN z#%rLSPhS^=|ESIX5yNs*MGoXY>2J4%X}a62cxCJO0C>xfU7ZYLl0GH@t+d`-S)8Hx zUFe*WpxO?D(hVzjeW&!pSa_cc2u;FLw_nvL+=390D=4AqNBhFfLtn1TChOikwE9ys zg9Vuo9#c?GVJAl_JRtd`MDK{ckf8^=hg7dCYWd@XG;89oe{={R8@*S@1OLp^Z~c$E zFhT=ni^qp#P&wsNfL7Z2DhR2%{xcTzJ1drAVF2(zn-%o#vt;36mSGbHr2+E$@0)*M zab3c>wlDwM`@DHCVNfPD7U{RN-Muv?f0**8OO9ZC9H&{*lOTRzxXE?kj}=FzV1%ZB zlE2j$5Yn%+ZNP3JNZsA}r>oq-=oiq5Gc%*~^=Mv8Jd%2iM~EqFUi0Bz=Io%BFO zS>D(oTa|Ts@(%Ee8+tL|%{Ob}YR@-x?XO>_6I=5i>THyn7O**o5q>blazS~YAbY66g=`( z{X+mKR7>xORfTo=^LPjXbytX~ouapp&wY$U4wr+R)41dpg^;}dmm8qPnvBEl`jR^@ z+0BD-sc*{4Xb|{qVY{$w3z*^0pZx)QvNCA|7?Z!7x)2dmUk+hK(9u@+NT{7j)u%zV zo3BJmmJ6C!{kc8g<&HUYRO)IpOnZ+@rppz=1Pq|6f-9W_w-c)XmD9Vn*DzP7kkA_! zKSmLw&1f^*!zegIiSuedOM(8?V}@Yqs@oijX!=Xv&zIsCy?r04j(rse`j&i!H1Zqo z4IN99)!a+pdK6ku5PerAOZsmb z$o~~V`uyl1oml>Wb5R*ke9?s+{%{U~wG~OH90Z{9?Mn~HXWfp|(|IN+ic4ZcqKz&8 z_}Iy9s^BFT5LSW$JrzU)&+{`PfB@%+p++}nTBmdE zYMH-?J!Sqzm{zbm%V}LdcK44dCZ;q9?@}<(Kl+1{{gWA9zg(H9fQ_{fUf$bQ_0sKF zK?2KGN=>xL%=CArwh}4IHbBp`>6h1tD8F8&|MhzQ&C4Srdonp%4oinBvK5=y=kD3j zd_5?CK#w_Vv^12aDb(=Xa<&UfbmZF?T*N+*{0Pub&>TC?Ut z3F= zHpPVs;Z4Bdby9Z61@egX&-4ZvJd5M=)ZP2B7wMO2>-0}>A;xz~Z8pF7J&<^G`8wL+ zVw(8fWMEnHie5?Vc^xm1Wo%pfaQL+5C6RA$+IAdC(v$tnuTLlLmn}~c1Pt^@ZY4Eg zfeAUR+?44VY|%m^andB1P*O({2Lv=Z^IK^9->we0^6Fk|)v(>X@DOV*^R8+o07i`; zZSwsYv9JeJn!Xp~O)~r5NmmgZp}%ZB(Da+oGjYV05yW64=6*Q!9C5`@wgSoTN@Eu% z)k<^Snm+}2Z)lc)1?o}y;vpaJfb6NyTAZrnyES*w6P%$KI!8JlVSk4{#vX(E0ovGt zmdVeYw|g=iJZ z3hjBnT5aPdQ{;Uywg9#JV%c;t`@4gCkV3CgC#aVrp+aA)zbv;+;(DY!}Q8NIw!h8DT zHMP$w<5msLUpF811{_}&8)OrUK5QlnDjp;t4KSO~OVp+sPrjyHtX7c0dA5YY=N;=B zr6Gm*Xj`szsP^TBy-NiEkDv!S|Ip>}kJKT~t`k|v)t+Z1K*h=n-!!21%~bJU8V>OT zlB5lKGSZbxioAFA;j;ETK8SY-TB>5b0h6U|JkQvs)f+q$##9>4Y5rCv@ashOb1Aux zvTMk>@p>^O+;$Bn_Y!tKz~uPUHKNaqg}g*mj&I3Z&Np0PAdWgfaW!BFe5?Os;Usb` z^S=7628yWn^x&vo#Lr5sm4iT>Z<$Iqh&@}S18@8uTKoVCPnm_H1W}~$_<-MH6Hhm ze!Ol0!-U2aO+619mZ-(%IDx9+FM>uNn>jz@=jI}}tyTyC8MU1A#O&oBx6=3p>KdWV z{>4zwRPv3n?#23ym7wCUsm}xK{)2prWZtmc8dOJ{*fv?}c*S1<QML;DjSIpwE=5-bQae&4)iTcto5{^l$gB z0mqZqu08MOqF<86r+L>8nTTe#krpU1uNiU&%I&n`(V`b<`{CPa-!E6~{?I0td9I0f zI8wo8k(PbMdC*`9*ZiD{nBy(cN`df~q)XYWJ${Y`DJ1c+Z^4YuB@b|_a~UDugV!pq zjn;NK=yH2H@w_*{_VX+qx2k+++BJGUrj*DjHxz&3_dx8CiPSVpW~eAtrs9+|eGZlz z7aHxw?(%q|V&6`3Hgc>d%V)TIT`A?}8mLHG5)HHV4lM1e_FOAJ7lPD z3`45SR1+VvO;u`hMM5d~<_nT(2|zNTWUpHsszU^siRpHniwsJ}i}gT6X8IkbC5|O# zzbbbl?dLA8r^6u5j>S(Io7n!b#L|8>)G{=1R0$`2CJ z5|eBCcPZna{wVuIT!Cb+_JE*|HDCC_?y*a( zpx)$>q(%n~1gc}IDAV-QoB*=@+@%kIo&cYF{`9*K!hV7&Ekp5uAR^rPN9wEST%gN6 zy3J97R*Kh5$*-r_wJOSLY{r0HP{7!fVSH%!;u-p^Z%WP0J0<2BdU_8h0J1Cs4Z-^a z$t2-X1|VOy%?hRc$Qj}XXk&9f|E)wfr2XR9vrz51QjL7)na98!P)Z}$z+Gr~#O<3> zT&D)Q-dYR+)JM)QU6}bNs{eg%QaiAhKN-;rVK&>Ht#ogV|0X=z(rg6ky?s?Y(oj3A zc>nfL`A2e#fnucnQUs9UcYp%QtdC^3Zw@j5V7`xIv;g|m+4(|3uPdK;hfH2aL({>p z&lmPi3I6%0@%;wA{lHe`dJdG#$KDYcWLP2j-3cnWS-FisA_Af90rYT3@_>=8=`GKF zM70`M;al*-2S_eFkQ);sP5masmRDNZvF!EG?7&q{KVtBXXug{OtJ;Xt0~MQ!cd~Sx zHarE1U3R4LePmN1!-dgA1%8vQaV2J6Wp{+1mn`S&IahvMWs%5G<0hU3n)@uZK7uh2 zX*`Ma!W(H-tRT;Y>W%nu#S5Gg%7S5@J%X(nkyL0+t)7cT+>|%oqln886GK{3hPkbiv zaPylyY>n77QBdLbZ?-#CY8N;^JCUCaO04}}o|PS0=$buZco>t1(I}2MGfcdM>9q|W zS$wvpF8NhCx~O+09MiAu68QWOhs9RhE&r=DvtB~~V>N4tbvL`UEmHIB_LSV;0AJo` z(j6c;R#O876M&*|0fp6~Lm^289wRK#m`-Ns8*0e^e`Wz7i)^z|Ekd|hFr2nZYlfJB z*v#B&Ik0=yugvkzO*Ip4Wa1Cw*M``>^2gO(oe)9SN@CMb8De_Y-K3q5Anx8yq~1w< z;eP%Z1$`%UF%7}M==6Zi2i|J)6%1SLSz-+r_R-h$z~^VI?}dzTG9c0w^MV?&iAc|Y2&Cgx2!Pcw2M9$alGs}R%a zqA!e5N7EXZajwmkSa z<#Fm2b(=#8Qb>rFxM#{h)990PhhL{3*}jpT9BL}T9t=w-OZ+VH{2Iwl2yaeq3JCVm zF^~8_jUjfqs!Z_FXtlEj<%CDmkFD=B$Cr9wfGH|BLB^NBW%6rqKHQi030~cKyJzT}7 z<7}!@xm7*FDR&er_`(pmQoaYJ?aDzt2M;FCQ*G#`qkMG{vfTxZ$j%vxA%AQAqD_y@ zxq{*I5hbv(c*n7kpdzf&p6lZ2Yo`q30CZ3=^3ky-lec0c?P;b_;^u+4kX$p*b{u=t z<#XkYA*uP)m=|0$-FW z7jTcnk?2QZ7yvSYt(KCjrRnTli3%7AJm12_(*%(n`6ho;xq!15{$~iBQ z6MPidm2M5=gjPEPngXROtq!Kn`ziPrz6+B7woCiR$I>rh&p<7QE`d}hzk{k@oSl9K zF^`|5-KZYjh*1Gwa^-2ZEM$WH0P-p^5Cx1Y7Jf?KhCwBT%NjV4E!eaxpa1i#%fuk>~`@Wu~T!V;H>A3BCot+XbBS;=jYHt@Q`I?wX0oF*o} zxQDn9KyP$_ZXQ3%k$kzxHM##*tkt37?p$Kt5rf-d0r3k!q(Ry=)%51(^AupN0Tr4I z>ar@&pyl#)2|7JM{(A+UkZXe0bY(=SvD|d%GZTZVgm>K9=I7Y~pepUxJnB?K1bh{U zi^Sk7*0{0tqX({kD_x3dsiPl22#OPbcnXlBRm`#_HyxUGm2k(8IZM#6u3-VNSmy+F zGr-MF9;8OYZeJpeonD{iuw-xLl#rkIwWTYx-}o5DZ-Q)Ho~d5!FbttOe^D3lUmdHI z??yYPYp9}Q)H24z@&y&i`j#)5NpS&+Q^GMMCTMlGx}NeBQG)=fz-bD#eSrxw97b_{ki+`->=uO$>1E4T<^ zKPmnVQ%_^_GNT!v%+YCrVLG?epj@D9HQm$nd3Du4UDOKe+kBW9c0*&QBXfm;;MFJ! zC=A6l+W|U(D~1&KVg|y>@=JX0yBrcS@ph|wmH_MV=Oxg8*Sx$T`TFA6os0mBq1p(a zwj5#qfTZH*J=P^Ghy$hmAzJC>6UVdUlkm2e;ljuqsN3q^1FF3zpi4P*;irEq2>yAs zYpfuHm^(vf@#6$LcL0FW6YP@w8&hX11-^N4bslPf_nD0_a7W5V5zg=bC)7BcbKq*k zmD&$cm@$bYHsu70*55CR20MWt&A1_3^`2zI^n&32j3RX)bo9?$Lff5JR~esUCWI(o z4_WbcSzjG-CA^7x=MqlGBBmIPX{&XJ*DQDT2KTNs~i%ZUI7|~jtR<?o_$*WF(jwzVnKHBf#9DWJCE{{ z!$$liOEmTUVR+XTKzzLay@rgXjOgY-A7g(xO?WFOW4yn+_5FPr>OXB)O;(pnDx5a4 z#W3+74tlPI^Nl=lK!R}~*N;OhoqH};@=e%+V*fO2%NF%tkc^?y=2Pq@CwoHTc5PxM zBx{>5uJ52+mVW0t^F9Ldz}Uj@$%yMuA$Ed4GQ}~^AQ^gwR{8eAhgk8G94hHGT)%IP zOaX-E(^g+h0`vf_oh6MrgQ$X^vEnQ@!y~t|bm$)gwg$`)`LRaJ0^xk__V3sC5YvM3 zni#DFIlzV4(d?enx_9_r@HncF*x()BS-yL|S(7%gbth&N*Hm%UHC1ffP^%gyI3nlp z1`-69aODSX`Ck*w|0ZyN8G7m!L8$ve?M1qCl_sqYhH<<5>R6O)F=N0tqJzBeB1Qai zwE!{WpI>IeGxPP)im%n&ggFhLEdZsv2@s<#=Y#=LwZZ~XMYwD0sX_Hm`1eyN_#?P1{CZ))~LlM&@le*_4t?7;(gvcD)@N!@<73vgDCl0LI`{+ zV4fMGMB|zrv?{$T<~R381%ov6?Fc%7VhbZbYfEO2a7p@@7->U{=2h|JJB4`>9*^(d z?ru$*`!gBLD{H>^fhS7G-`C`uM`R#9i5@*CkZL^zEO^cQM?7G;>nh)Gl&1hVfz{_` zz*m)_BuisY=nHUv<;`um4tOAHRK};xyDxqXzqiY0qvJSM9^zt50Rnumv9S3 z%+Crr{V_)9LfJVcF5l}5nycj9q zHv{PBM^8xsIo2uAJVP0{Tq_H*b1^qDSZ%R5RO^NH^umfBn-#t#LUfZWK}=e$$eMaM zFBPLtnPLHy{Z9^Jap`Qn+-qR#+^Vgd?BalQAd#{Wt}jJRTy)n3gp) zK@pQqALH0{6(<1^mydhuC&z@p3Gl#JwyI&aE{`%$xi^(qwcHE3@m*iFOdVZ465O$Pb?E{1 zxDrGLUfAn`=M!MZyxOKx@pA=V#BhWFR(G=V;V`wJZCfGmvF>Q~;cQ<6rXF(sjE`xWChHf&xUv46Z${+v z*&NJH_Ps_;wqhfeR4HE-Il#+Q*Zo=!H*``V>)iT)3EOK zjDA`BpR4 zFL#nDIZtUW^e=unUT*i5A40{xhKs;R&?S=nXZPl-a$DxtGYm%V57`H<*|5%6GS_|j z_dL@7y%~KQj4~chkaDkmlIxQh4l+QtJz*H+wYZ#W8CDQREG*g7hlhDa-722}L(z6#lu8mAFVY ztpgVWpF-hGEw5=fQpBf9Y=9)CQZjdBay6R0~K!Jf?0y6 zG`n?|Os1%Q_8$gOH|*w80_=0G`#*DwcwD)E$^tp%opkpJS`;A~%DA2Q#aAMLTuq=* zB8e#o=%C;&FH!kc7ec;cmz8E(JOyB)ew5$6ZX4uIW&?jQ6>Js~{0&5M4=^5n!BT@u zcKEWtU;_FahwQV(WS4MxM{~)5z~>D=i~lk#+bH`$k&8;r5QN8d`EmHsB3E=uzDUKW z8+B<9C3JE0NB~lSC6+pwfZ_Q89x;b*DYY;zBi1udYg~!C(pt6*KkXZ|Z;+Wg`+0YR z)A%V>1uOk>qu&0Hd6e@lmDHVk7EfDL!xcAoYuQ-k^*UlAwxw8xp_Uoa1zk3zAm5jd z>5bgl*j&dFSw_-KiE4H+^}3Quq!QEvpbjowRkv7Y=SU3mCmbq!LFuNV=7$bV5ezm!%~vY0d&oU;T2K`6Ti4bu9|6Ly?WUc3KG8;HzIfkAtMv~`#)a4zPb!AYm05j ztW)UrDyF3S3kI-RKAY*s-2*+GLsz};)y+kQI+@b$IOkE-A*LDq$1 zSzB^Z?&-P5UII(}vC9C~D@f6sqKUpxt9gQn^NjDQ-i+_tJH;hQ1%_D-KEp3q=M1?m zLq!>^%UDD^>kh}OlmI7Yo0Y1+wIiK5m$4C@-)I5-2>`rpoE{Xo_jisey%M8gvv}a# ziF3hbai)tlp`pbAkl`I~Cp$t65BU73gLUk;kp7R+ z(p@m!wK??3!GgtU*#VnisYib8d;VRXPU`)EN7R$2ZDMN$$73i3EFV)wuK%o^j`@jk z`Kcx$3MZDN(*ptrWYb+ZK?P28A7YlS74{eM+y$@O4{{u$3Kp_VANe4h=VAsLe^87U zr}Cj0*JWzx2Ds?GGFbjgR8%cnlVY1o6MgO4T-V4F)%PhtbX0`Q&|=amNvt!a`YR(G zOM=FCXU)k(eZSf`QV%C9Gg07E&UA$-n{LHNq033Jm2IIkGP+MqA3ikMT_$zZ?Er4+ zR>I2=)WYt4!t{RMk%|tcyH~ca`)}3U^imBtN#4D;H#poekhm|}B#s3bf}<{&pKs$Z z-FG)N$@@%415Vflq|&diyeZCgl-O8Ov}eb_zH%JtP+5So?gJV9s+&Zq*Lp+w{ozx- zdn(6Y(`1dnuu+Q=jyP2T8eviFfWW~XT3Gd8m5uYJru2kBPac*3b$yy#v;@$%yjpdB z_Hjvj=wg5`26jHrVzp?cmNMmTwtM=kXVKV1#2eewdO7mgw?y7-#4;k$xX7KGfo{+A zMxWy`K9+dkPkIZzMge2SVCj(CS(0cDeEr&lNK8dSi8;59y0R~yvnK(lCJz5H1e9Te zzjfiZgdOB)Ct@Y<_`U|j)lWMLx+q5O@46_32Nvo+eX*CTFbxOH4f$&~yU=(fAW+5>%ruU^rF}m4dd~XYHJ=E(~2XQ3^)*hgs6t zu|3{G9VTOjV2um_eWp4WcDl(SyG?c5FY>x?iMt54z!Kq(0b1WKi*x$Fj&oGrjG7wU zt*%Nl@MCRx3KcIaaFkAoJc2#x(?V^8U^ds86@V?BHBlGsbe$X&o4a!l{a}VrD^KCt zsn9G7HDMu?YnxbgU*O9$O`{|&U9e%a;vOhjA1{}>YZWVSa*`cSM(IU$K~h7WGCN$d zSIB{1{26y*YOjzRoC;4Ad|U_Ae*`-*H`Lyc6{atiw+6eim{Wdlml42mAN(G&Y=gGd z{IY@H?a4tl7#NtclAcCpqSWL59)5OjCMM7JRE6<{IOxQr-LZBi?w0DAEGsR?k1t)?a!*LnxTrQC-W?(P|MnQ|K&1t_8@K^-~Q1_C}GmT8>L zn~v3}+pP`~cDxWCE&-AJSG%09wmFnVB@}C)*<4ehr7T56 z&v8b%Q=Z#yZqmaS!fi+H*E;e7=bb6ot-I60zmlC`hNyW)=XXVAt*d4XOIKN@YxmAlEf+_hXmhC5wDaAHF}%^<*W|$d-rwx)l=B(&dhv z0r(VKEN~`@2QY!Ff_DI|ayzlGu5rDfTLDpx-z{>ZG<}>7wJQMcyS$*X-gdEFmkekE zH0aE#@Z2EV@YD8hS=u|cw9ZM(8;xbuE%ORFBZ}(LXMjl(?6-T8=^(EK=cIOb;!Vl| zG!<5D^;Pe6uupGnbELPe8my{CWl12}BnoE)3tyycx@;>S*zc;qlc{bGX z>NM6zB`>=y5+x}=zmUs@#|bGqG3o!FWhuByX2J_@JP+DttiDZZ;=U^35u$o}8OYgU>uQa^-05OQOax zf$}>Ei1|kA#_7}X{hwrc_9a|+dTOV_4Ob}<5B5}Z8;N?E<5ux^ncbR-5}W00% z=y+R&zwOp0In?A5G1ZsAESHCKLL+X-y@4l3jOg26eF+Na<+!&`-qqCg6-i z3cX_X?u(-izz~;yo1y;}`jVO>p5J!*@jXKUF^3TUhThh^`#_e{YQ@jJ7U%*qPPv)B z+qyK!WfmKSA7))%h-JR8kpi@-r1Pg9>tBtqvr}DO`@bbJhQI$gj9XLv{IAgwX2HeHjaZx!wvAF{&L!x zs>iHP*KnfG6TRvcZ(qiBMSp4x?>9SJCqFWS2NPqMzjBbjmfKTH(bE!l9?h?IRAxgf zq`~*`KdQ>(-ek(WDHD{6WA_qSKIZgVTsqW#Ig-R>ex9fD)H#6MNv44B*jB(eRbu#R z`Je{fJir$4<~W=W)n~2!`pF9)qNd1ANvV7a9FX}=Gmk%lgx*z}?=l7b6v7EW-w4NB zRrT&5ev;_q9P_!_Iblvd>aXM^MDCW(eBfE(_*Z-c!LpU+llRa!p7mNL2Z^d<2nV~X zIbdeW9lR%7{$CZZ-f+xU%5|3**q16V2kK3m&)B`)vbSn0aZKFBA!;ouU{DW~lu z0<%P~j=gil!>pJO`bZhYe#cOL5@7V_UVtUNzD4;XBjxm;6y`yf4TX=0Eo zNmuv4W{R@7C{_jRnt1K$w}z{C6fTABnge3vJiqB%6sL}qN{td8tkj@@U?Mb}k7fLxw0^f8`3 zUPKvIdYH)X+5>Pn2JrAbCQot|qnWDRljNqkgsYb22iZO9vf@>2*~}kck43tV9;no1 zqY`ll6A?o#7itd@DfVV;9;b6=Vn&V%Ig{z3Vw63J-oE*C-2KQ^P=`^R5~^1u)?!^` zyCw6?noV*R)%o)E`9xaH=#Dk^(7Bk<`zq>y3K@9BtNGIp>xvzs&BcihV-VfYdpZ4P zc0)Zu#QD^-AIFQrr?n4OMF+Vr?)%Cae+83nxzlY|=3S)iP`q`Wepmcta_B+o%1uJQ zgzzB6NAc6}7{p%^xi&VgRhd;r>0g7-s~r2y{-C*wv^L(#mS?#>ZNX@-LJ0K|{FPlsb$Z+B1`Qj8 zfMURvMB>+zlykr7VFO)%LbJ7ZfLpD%>3IJUd`Lq0<*PQpe$vSjPc7wTDhfXI2_^TeS&e)T=N@!rcek#tC>H2 zS!((WO`id<8W{Is11YMuUrEE`+(_vzKASateHO~nD&~*^P3yKD61)jLO9(3B zXGWW`jqtVBb>1Mvpt>I6M5OFX*kV{Q`e^J&>+u0}LS<=kztP=oTZy<6XrY(hD)nNI ze!sZ1RqY&*bRp-VnU617ag)b~pOr$QK1dYzt5(8kn~(J$SEu2bTw86D^lUew_Rz`C0J6xdFjVkq|No>?SfDSUql-F9i3GO97! zIirCi$)TJ~2)MGj1b&_NPQB5|TveEStN(P__8-m1>t>ZxPv+_GlNG2q*^ zUWbm)^@oH_uqm#w7$LLv-dpkl#ne=r#Kv^(jd@qOS>ts?ByiBJPTZzeEyl}YLff`` z001AK-(_T$t9y_*^9-%Gcnxxg4|8Sf3BCYqAYB0BQnl#MV_=iMP-u%pw&#poHcIe* z-K7(oVMVXr8>-8E6M_i{ECB1?itpTCiO}2ZUJZ0olv|5m=H72zcRxJL*|xR5@A^m ztSkGVlKH)_k?bP{x_IN`VRIiOOovdkYAL&feehJ_QF3J5vj$MjjSYf)v#BEi+LjL$ zF2sREK@F|uXN_@5<~N@~$8)Y|g8VPJfp6o&Y7N5=M;&JHOU%`=13JF7i3w7OhIQvK z=Gh<|G%q%hlai$IiU2TE~`?^@}LP*7=3A@m;Nh zw>%rt^{SVw(WfjDUr*G=Dk_GP;Bli!3RB+c?b0w=Y=|elKDUrlmBDjZF%d#-$FVRP z9maI)d{{&}?IwH9YpTw0z~-0z3e^3bI09$2LD~)WvWVFEnX|~S<4)2 zWud#>{aE#ajOGd=Q8gxQ33j#(p2&QjJU!;97qHbaZfJzSjgEH(LunQM-U3d689`sC zW`Hu1{)X4vD0lei#OwTdbw=B{ZvvN~Hsjy5&HqyIN`J z%zzQj1h6mrtx4DBr&vj`kq^F5THYJ)=GtaV{#f7S_4?3h*ZphrHs@zX`>p94zOLSbETRUI^GDu0qAOk%;=s*W{nfkB8voD4W(*K{#}(|wmU z4>fb9*vn;Ke974zKeR*mXR4N?QhH^MFocUh9HjY1vgw-N2G*tu&1HZpW*29kU%xdl z=)d5P<K+St;iSY6VQ**Pa80KN@lM$oNs=4;6Iqv{Ea_+5eHlf|qiowCi~`v2n2 zLW6*L2f7W@HHMCBYA0PDuven@VSFU|9@p+*oC|c3BVx6Cx3mD>{e?IGy+4~UUqArD z?M}fksqbIT7KVmRN5;QjC-b#{B68&9RO4Dx(qa!7e%lOv4lr#1ulo(9KR_!%WbZr% z0CfOq7Wh7K7@70i7WqF8VSR?w(@mMLZvet-dh`7JYe|N0uijCD+@4qngTHG#d*m}X**w8sAz=ZL7ppm-An1lWyK>iEQe?OrhUmI=-JM znBrE`UA-a!ZTetoN?eWrH2s$3)oH3Q5@0de{oD=S?;0y{od16nwZa^^kTZ&fr6rnkQ2}|dlSRMb^6(Us| zFY)J#F5-SL8|DCp2^j!Nij2*?rpu3TNw?PPt!_-xS@S!=%79PFsr`yZ7YY)C$M_%! z_#c&62UvEy6OUBV8%&icEfuzVuL7O{c4@nY>Dnl1UA(*CDL$*)=+SCKfyeW!8f3qCuwwibzYm!4`KmU={&*>kED|V5~;+(Hi4Z1IBRVrx2IpnhEWN?uz^iCH0ubYsGYmntH?374~@&ni$>q`CDU*XR> zfVQjSa&c|w@@FC;pcm{EfP{;g*e-O!-3H_vebQ^DZdvy^&%RoJ2~?7-+C5LJuTbo~ zexw1M*1gjkaB zFni*~O3C}mC)~yyRb)B*SN$s2W^vKWC4mEYw0yDa&C@4J#j(P;OX86r?`unA1bTG( zW~>YtP7YYWKD$O@V7Y0~vtu;hYutOk#2Z+yS9RWp`Yk~_`D(Sr#;R$J2}_Mj!U4J3d-uMhdn-Q$41^Im8*jpMl(@&W^iH}M-%16rKa*-&8bxXGH;l`FFTvptd+BdF<97#(gY@NdF2k%=1Or zuud9FZ3WHPjZQ3q&)lhfF5!jatk3BavC9E?YW^KCU*Wp#zMkQG4LGn)4_f(vd%X&@ zH>CFoX{@(j>Alk3U;jl!3La38CcvnrSNCd=_s2diq0tma@4On8%yI(**qe^g(y?HM5|`4?Ddeo zyG(+fE7#xg$U64oKC3WR{yZ=8!7X{FF;>}$>jUB6&Mt+dpn@lQY+l@n`N_IUmp=}3 zQG~ZJ+|F7q+%D78&08mOpK*K-mOj29J4b3zi;h3UkwTi}fwq_p4(5*)F24>)d4vu> z%uc4HCZ6xCfj4<6B8dcg2J!?CqWyMU9P%;=u@WTQdfh7FxerqGF1B@gM%h17bW>a0 zJ=gZ@07mV#o+VsuD$IPfnZ8xKnLwPvUA&XKA^jcXb3Vn})vPB5Z7eKIw0C%9$&YBG zN`jwMTFvK0l(CA9vm#$sFH>wB6YF+mtM?q>*qy?1TJx zgh)GSHYP-7M~WKZhQ+|`?-t2&=^mjJ00X99x-=@VfLj}9sgLVlm0u<>u%#_v@5WAm z^|%`2dzFmMNV?a;eFvFVWYaQw&!F@<?60`p6H%0 zVc4-Gr4>Pzd#k8NQjRuB?|$xlc)K_Gknm)V-WOrbqx3-A`H^K&0PoBQ6L3`XjtSD6 z3J?V8AruI5i6?K?yg^3rYQo)QaX{|*;W~vm+MeeHF+W1sy7C@J7{xT|B`==~rGJ>y z<7%BvAS5Xb4r0P+*1~yVhREmunH~PxvV~5bj8qM#UF46yRYNcz=FPcZzAPEk(&rwA z{0geGWB(H3O?Y}vrY$qFnUNdpXJ|s5A4)y|u^#M!k0#qq)x6WX%DJM3*;%mleM&KG z<@?*A?ZSz%Y1CQSkTU*vs(u)Q$W>VlmU1W5F!O#puSAiYr9eWSt)-z9f&xp1z{IJy|jzzV4Yg1B1dBaC#Ej}mv3@r73*n7*c zs@km$6cCh91Q8ZU3IdW#M7oyJozf{K-Q6G}-6bvE-7VeS(w&R$ICH&w@9*33zIeW0 z=eo|d|8OnliuuHt;~C=~_ZS0wBUo}&;YpFxMSQ+krF! zdIj3|Q{@1b(bxV8(HXN~q3sr*wi&Jn7wqI#vZXnYq54L6|fy)3qhk z!@r$ZA4=aJ9`*z+?Xyk7bNbvcPx8oi#lvc*w)Xu8U9S-w{&fNW-7@N>U%fJ^>nr3JS`Jx~j3p3SgxqIl+Le3fkh1zs?= z|4e#8Ij@M*V6}E%t}IZ03OOgpR$y4tQTc9Uz#|zkP!Qtj%2k;3;Msn*zKz>lvLm|K zIse(hlYm?w$J1cPHl8Ky`69>1fxc#%auk;WZ8MCm89PPb5t@`7CSSk%7eW8CAPfc- z1det13;DnA)qkP{@~9Ya{oO4BDZd@5hY)c4Pzu_6qWOOxX^D(GoVh#^GwQ!)oBqem z0mFt5xP8z&t>4+($Rr_=2#D^bhegt#?={3=BOrm@J`F|m9$Meuq9Pu7&w)JZNT0wD z_r&u5?qP=lwgaz5%xCEZ(sbxHlV(lCc-~I@API`k-T}}?TIs(~JyRY2d#~u?Kh0ZCw zNEc54dp1BW(S%TjNkbGgsLRcycR$nzuZ%^C+zs^%ABC~IaoUP`x=!;eql>(--ReCP zb4z@!t^g(j)drk}GM{k29b%0C`mDG|?0Kh#>PsMe^QIrf7Rf*Cwlci39@r7&kLVSv zsM8&R;Nh7bDPvV@2&#?p9imq^irNF=r)w7)f?my_K7S{Nx9)E_OW%!}1}!oLt*0N^ zQJNTiXyZp!kQ40#6!00Qq;SJ={q(yj`b18o;6Nll`ElIcAF3|I7NAv;`Ij~g_P6oY zTrSh?)N=KoZSqHVq}S0-xR%vp_WBZj*0qV+^%+rqGp5n%9y!Q*{ zxM=;`3(#@5i=qfKvu|0mLb8rNrU%%Z7OayLK45u z-n?Hx#@hzJR&Rt=d?M<8pge#ETR|ekY5*w3c~_OC4)c9ld46xpwk590+(A;-?_F|hJ)4D1gEk- zoGNaZbLgHuND6pyJ%->-jl3bv#aL4vHcs?p=|q{`YPRI6SyH5Ip>QtkGk@R#uUPO_ zK5t1yQ#-gpA!n|P+K~LDIz{FN&I&Ljr6)=Ui4gXdIHzvHCHbD*8hR`-ojl}&9f*u~ zQ@oHQV%wXIWofTQK~*XG2-d8mVf=YShbWyl=AvYRIMp zA;GjIHymdI!0o*c37@=mOxO4-Q91R<`#Y&SWE!dJk@@sfcqB-ZIzkQTEBax($e5Wr z&60KN^cNc(j6wK0MXJIIIT2>MfO3>=TKZ(S&;H{_c6#L}QpT^GP$Ep!-Wu)OiTpUV zooMwZ)hJ8N6c5gLZG4nxMu?HW4i$r& z6Vx-D)UG+aj4XZVmWlWoB>U{tp`cD{EU$T<3aKGjOn7p=T1L$s7xrm*ZjIj2q7Lh^ zz+C+&w-PA(+;7R70edV>1W?5}X;V)TkZ}=KIilJk%|WZezBR$bT{Q@oL?V~!Mh9WB zr_aDo$Ms=DIbTPcMU#8_NUS8-J=QiIZ{OYic z9CJaCBKTxq?zwX2@aU@o_dO3RFm`@6)~r`NuuCq@LUn0A=o6L1BvXRPKly53&(;YY zdmFsELXKh6h%iwib>yQ7b3qg<_um!eC$P3Jmds7gKu*(exBGES{6NIrJs+{x70$Mb zl}o8wYvbzfyRhDje{9_(#T8<2;-mO@a0zrlo!7Uo0G__Od^pjU1y^^Y&jF^GK{-Fk=NdMPL*rx zOQY*ed$*)}IU`<{Y!sqPU! zyf6asv%V<~ul{tP6L}kr7V+7Nzo5?MN&O>mdwx=-8Q<4_o7UN&CwXL=Yc4u9@ibLQ_k&wSj8qbX&?)Ad z5&DOc<-TtAzhGkCTjuYvoc|0r4$>olpf}BbXB17oaWo_3o%7uQEB49wta81yv_TPJuCS6G9TB!L4~fClYnMHH6R@ z0eOw7+B?q;G&F7Ueo(P>UUk9xs=z@9%DD9b_oqHD;#7Gqa6+^@%c(biJopowvUTLG z3F#Y5j&B_oKYu*p5h$-oQrIPxFpoase+=<2*mB*=L%b<=>xrf58T>~rfE8!0Auq{t zj80AX39fRM`K0F6)X&HynoRIEDJo}2`st??Cri|wzFBI(>1TO7@-z!PU)-p}Ul)R; zL^*i0(ucz>r7=^o@XKP{1I_Q;U#vM%0~j} z@q-|Ew(|q1f1%sEPlRYYWXVoCCxoU^(=%fiKd~IHeETycdb$Sgz9-_I8axva4;=bB zY8Uikmj1_M%K2jGm-x${W}iXKMxcfi3p`c_{si#2AmMH8ZfGhjc@i^aIVxZItC^HPu)R~N84MV)bNt~DHgU{%W}S(NHAY;XPx2rz1Ezq?OEfpLxCp2^ zy(u;_krA;Jm&1$n)y%7p1N2|VN<_oWSJyj#0J$irW9WxlqHR0{PS#8!+q^zHD<7iO zaI^FYJbtc@$+(^2q$X5Zasd_%C0F4)zgvWKC-|@(Dygy(fvtJADS86xBF2mvZ+17_ z-A|mhPl=rTluF0KJ93Mw$RxL+uM_EtKkgpQW22;9cz`FL^tXBs+>gX%g zWStSx>_(%~2q<7$1S-G#VM>)U)22H{k6Xd0+QWU6u7V>vJ0n*+Iiy+kfN*7~-b=;x zAZJKohwQz$KI#VA^!DDb&+*{nHsG<&#cKUGn$BNd; zjC}MKq4Vk@?cTS?h7k{q$p{54}0YA-pDWo;0u`?@8JIZ|G#z%gz|tX zwK|63|JJ|yKdmS-9OZcUufM+S-&fb845l#gxj61El<>#TJfi`oRGhf-_3zHfUoUK$ zIB)<@Z%i@#eoBgfkocawV)^}k0{tJ|M+63fe(y520`8qe9%c2v*4+BD;Tm88`^oHR z8}QpHy^;r}^j{JEvqk*pYyTC||BC3JK|}v??f;@h7bIp9VR~dznItnuXlw7+E9}~6 z(c2|UJk}vmC0$*Qx=WdC7k@+0mdmTc z0=dgz^{B+?(Tn9`?Ptd$^m)!Z`s01E(AZl}>AC`S0eV|JD4EHYi_Q;y`?UAs%hr@<)gnU=In_NB34A_bH&4Vm%3#4 zCl!-F>jnYO{eQvy&ITHaQ9?0MJK>b}tZl~IwO_*=TRg%3L zy{l3=Fbh zb|5&RJTJ@-2dZ{r9z@{q$<>`G_^hN z@3-~NK$4GZ+DcC1++LfWc)8fu94|+&9)sNQ8)6*rkt0l044vo9u~+y;D>fg2JEy>0 zH~=^>4jKgc8edF5YKtVEqNjIVS7JLGa~T&*{)&l!Jy964-EawSvFb=V&g8mHWpLdd z4xkV)5q>4xWFxuTcSdRTXaxo{enH#0>>?Iz{^7UZ*6!@Fm6GzHH9^vx+(eE9jZXC{ zwl?jypikN;tuQfvs#JphW<%FCB9K}q*c-i4)|O|#3-Hb9q_RBSiN+XH<7f1mr25>9s~H@#J`AbxX^ZA zE&x#aEYAhs=t3dRYjs&O$T3mXXU?M}F2v&tt%+c6BBt|PBoR4t)?@+PAue0MyBZ{u z+r3=uNPXy5{$VqNe+mCU1aPT#ygrEY2lJI}KXQ9DPOG4fE zdW)8why!0-GflURr@x(JdgW!9#sN6A$DO1zjaFvB?d4z350RuQT~d62+>b|YnOmx5Ir7I(8D3qXMnH{Y zn9e!UWm+yi`Tb-bxEzNca=h(FTyW9J_{x<*Q>eiPLnYj88OXJg*1PfL`+y$7G7DFo z5no&qX~vMg!9M+b;iygQiIbSZY?b5q0yF{+N+$b^lgu5G1G5lCzTc3zyT6ob&{k4K zv6D`W$htZY&7(<%rldj3alo+#;DbX=ms4OU0d5V0^^gYK%p>7bd9>@%RXCLC~6b5z)6woT_ zxMA*c1rMw;wOE<|aGyV)MvMRqsW{@FiX#6ZSVlS}*aTSb4RWpTeLz=bsD^%!OC))&k@#O5?h0ddD(Yjp{7p(En|2(Ux-Lks(D#@kCXH*~)Xp+J z_m0kxZtA)cdT~;!KcUAXXx`A7sQvw07~o^0pDfevl44Fzh5N)V?@Fc0vBf(}_9dn| z?vgW&&|hUya6{+Djdlh z`@$ihV7##kW@@ad9ELj+5q7s-(_^sCn5|Nfse5*6A=zNh7o|S$wEyYXrNfng&W5Vs zuieQe04J#VBRQuYf@Vc$yMGrwf$J%89idvddC> zg@FjvLBvFRxj1%>w8lU~* zf$IP?fjpbZ<#7QG;rUcgb^v4l=Ga(ndh%e;ci`sjUNp3dSi9&016xT$^ zWj$+Xm$cg)7^_5QHu(ChtyZb+BL0hLk8p+2i%%}2i;XixY}ERKdTVF*jrta z_gE-Cg&zyglvZ}F(Ky-pq)1o$4n@H=h}Lml0tjl56gJ3RFV_evq?U183klF$PkDPd zwqw3lRi`_#Gh>+crI{d0&373-5=q?vOVxl#x)KriX^hft6T)|YrXX-=*QjM3`3%vw zYo9F?XT~rY?b3He^FwE~;)yMd{MuMpnJ*lcq6@nfMU$9l#Pio^rRplwx8^Mph9r*b zU)VtR6Qc)mkJ{kB>c^L6*r-dDXnBmzrcbvO=nA9@Sl3E{Fw3vSD*Y$9?DJ9~;y;l9 zyf^H!mRa;dVvK$?i=S*O>RFANs{F2}7Dr3@4x>hmZt-Znc)35}69JCF_e8TCRjZ)F z7rU+8&ql2?+#8bX_xc0dFFt70aXJ@^+Ss#F=5JZO?rH$=S^QD{og6h|vp4i2MDmR$ zHraE{3IJP4X%lsFX`2)znv5*j2%o{eFf zK?MS*q#rBuLJtXh9(&C_0Htkbj||&oO~Eh#Ij7Gd04EV2N_Ocy1O%O|xgA6rZBzB=b^%4fiK-`2H_GpMP^d(l9UI)%Q%e=Tdp;Eb;Og{vu8?XSg2;dig zquwUjU*x%X38MvE(PdSeBp6@Up81XJ`ej|mg1M;sc?{b6w>|3 z>ph#pUCZ$0U`ohp?Cfl;zx+(k1-Xmn^`))H`*I@ zzU4{|jroLI3Zq6UnuS$tU2mIFoTNcK-5z27i zPMnT|O0J=I;sgK3P$j$N%>w0Vff)SOuC-*rP!zX~uIfy0G=s@|4>g|4s^|3C0m`M< z{HtM&MZcLAb@#55ppZVS5g5P>V83GoaLt^e3P2j(l;X~_R7C7 zPrl_!VEcljbh>;?5HGAA(QvNL6z1B0xh)RTG4Uv&^M_Ff##HZKi;zi@J5T>h zCg1gnbV@Xtx!)|dKs6ZXVLz?@dK3p9ahSddyludP_#6)231!2{q)qhlmI{D#HWKF! z!fHtrM8?72D)F}IXp@~x+eG#HsbDaIEy^H$$+kUtZkgdL1?V@o?Ly4@aZ!kq7Mul%;Y~Yo?;6AA%Ni<{TX!dMKKr- z!58P7o1VxqQ5Vqi(U>k7T8aZcsh_5O_PBi};6#abu=eiLui>i>%CtL0Q5X_XgHZp7 zzCB+R+MH1}Q{+(&P%6-{OgfaQPjdrfZ5MWlmWUQljb6NDVjhv`HO2~~VpIYT8ZBLY zi!~`B@v}&c zBu@a&;|m%PRAQyV11K`I9tD4R*5Ar~t+`#;*Bs^b8k-h2nemLE!AhZtpaD_ypTt)9 z^2#d7+f$5N${~{=FY|^XTl{bGwFUb9d@2MbdE1-kGhgc5WAm^Ed5Xjy2ei}LW%^b; zV|*a5SMQ#EgtYr=JNQVIW>9yj_92wa>SN#SE=Q8z&D480igY!dJBvi4Crb(70NduP zPF1B+*DL$^_g)_E)?7}^+uOoOYZMq~&MB^FyYh{`VKB&74z+48yZ+)9t$TU{Vx`^>}E8MfCSS@LlNBeWL50D5Y0+w9N$EG0)-Gp}5-uAWTBW_c@%ByiqQ zg#KO`J+`~Fa(5Y7^Tr)*lFXd8L34iv+ah{Jcyp}{ zlWDAZ9_x&Yc6I=3!@sHc+!LP3Q%yoQG{RUBS6X%!b8S-NM%8i5?m4W0N{GlG4u9L8 za(MS}5g2%k0s;2W!)%uxfn~IcTatIbCaG%d_9Hb8$l^_2c;tM({b8xJUtl6r>{Ja< z);|_5z;Ax!+0eM%ggaH+yjo*zE0u<~=beDbHzxSup_~%J_=)fZH zQM4EL6Ww9_WhxvXO#R8+_Wstce*`H0FDnYa@Z77E}T7;4*KtfBnp6Pb-Kd9zu(VKz4r5%$xKOnkTmL<*+W3T;-{7r3SXNdbigh5Kr!t!4cOJ&c$f=0iKJU6Mr}34?t7) zbHVy0;#lYNhaEZ}crFE6XBcUh6TIHeackzexfF7~bZ_EBGRB6p1qjkz8T>Le7Aep3 z3&MZuehh1@`haA|b+odqd;gC4KHJZ6-~Vh?`8Z)aqbz!K(i10w6*banG&s(t(2au33;>8(fis>m&lT2=0T2At&f&AQP012q_0P! z4Fl{oYc3lRXWr$JZ6GfO$W?#=!s4eB!K%^aqN?6Nfzb-_lKt74be$W|y!=N$ z6*Wf8zVHO2e){VAqqHmUBS+P(T$)&b%E${#@Tv3GEjdnP>GrIxd~vqN

l+c{Det z6}v%*$+cEz_Sx9-u_G7GO^hVMvZ3*%#YtX!UJ_BIda!O`N3q+DR)CFJfK{QyyDc3? zroDQ4FNXX9p7<}lM9(Vj(WyYQcXL+00JrdgA8RM1%Tw7Dqb-ZpIe?gu6|)2KBmeYf z$HLcYD|8!Ezd)tUoKt{6&~9U-5_%i~kV4O{>A>&Q^(&@fK=!p4D19~h5&0W-ty5iN zANN%xT1>cck9q7Q=hCf{TDCom0U&OuqZo+KV_7UJpmI6-r0oiiy6Lbl9`zm-328^m zI=7JE4~4naw?8eZ6y?bQo^c?YMP7;Iaj?+HnMTMOal~K4P`?E^D zU%TPL5tu9ZgRobVgalx-rk?>|fI_hE?a=4A;>Y)D8 zmQODcl<1|D)}KYw^w4OfEZLP`kS|EOdFRO0nh(@W#Tx`Q7Uqu2ACs?%epLF7cg)<8{yto1UJ?xPEj4eWQJc{vH+Ah$F7h%>^mG ztfY^IbE!4X@UB#4hq36TmG`Z4=w3wMF6pdo*JR_ZYffWk1_$|aX&WTza*vhZ(qnoT zGdoN8+JS1CjZ7(tu4d+D>CBs`cg&VyRG`tI3&2;u= zM!!rf%cS|xFuTU0Ty961qCb9v$M%G{nl|%xZQ`wc4jq=C7#@%~0Xc3Ahyb-*qXVge zx;Gk)Bj?LOr#VAW>VOd$bG&2r{J^JSQE(nNYv3aV|eTz8!5Umv2!Ro>pzZK8m)R&yxu! zzRE}Qe8<`msR$*$a|&;8Z)O!9ogbn;yNdk@4gRH2!d)x&@OvspMosan%b4_>YxMOU zH-*ce+s1hcBq4Yvq)NNoA5B^euMYG(q3M^k-*{Pq5Hmtw&aUy!)bl1xhaa46TW?u8 zZ!{d+L_}FZvlk=vim|DGxp9?gp=VpLjrMF#496yVO~XEW{Yr8cAWcPMP`o4jRNh zer3O&T*mDztI_S3|W=}O~>?=$26jAw?EJ)5?8 zm6-W82IT}7Nl$@jmIkV5M*)UVVbfUSm*Xh1)48!RS(>|JW~ECF({EL8X%|j}VHu5A z+8tG%WEG@F_ncmE@S-Tdkpuunxx*L7R7%IUYV9tb`tn6OEgyjV44$avq$_VAMMrOq zIs>yP5AvylMFb%{mqf6_`NRuIq>m%@Z1mEfUTM|fd1cbb_FNolLsJ=3zcF7a8FDB(8_U3e_Zgwe<+kz3yZJT4f5Q4$ zspBya`0bp8GY3j2@0{-mrrV3FeXFk2SM0xTAsaq8x7a(uCvCYuVc*@Yl?K#sk*4an zfQ@qb;3bLwT&*m#>*DN^xvudy+O)b}k~hR20dM;%&GW#CZ+QuI6WyPnrVDob-(UNaSHd_z_@7k&Zc#cGmjG=_c6S$F z=jO)FhgSO`d@eH3DQPlxJBm)@F6240ocH-DQPu19hQlgE0m=_ijK3>_MC%cnVaj&o zJ>O}+uGy)Fwl_yjbE_lS`4-sSKibW+T=zMpSug*@m;f9p%f zHF4kxuepxW1>0sg2uj*Y?$#-?-8!N|bbCocb`kKf;7rda17)19E-?mDtOy166+8nP zi4cCXn@#bE6pmk4e<_^#xwYa0eZkJ^dHp8FVM_rtHR}8ZXAT^6B};epOsy6>B1!Rg zm)s~4=e)mNhbCvlc4fKiO$}E{54;0P{U8g}wd^Xr~RjUB(-l-Tz&|i&x6Yc6TtS+&9E{8(JfgbC!pu)czP@>NTw0 zOdEbwkEfmK6AL4^ovg=+pP#_q`s-&MCUd^eKVNLZ;~DIscUkW0&(k{|D+5hlVAYz6 zT6SgBHle7+_`pK}gu4k!0`4y+0gw2M4&(UI3M~5#Fsc)5Om#zP?+Pm=1{ggc%&0(7 zs=9Np+Vr9n!)dXnH@}YS*ZJ;>L;uX7`lo9`6-@v?pzP*UsM8eZu9==n(U$2ec1ak} zmIwm0ZqZcGDgYqwc8tUVeTg0++0QIjAy0lMq9n}-yTJtE2mQ^Ps)Y2JdDmu68SAkS zk{LvxgNnN206uwUp5}Bn&r;;LMgu$70OD`fFdG9o=VdbZ&f2ZBz|d3$+_nw+@`q$% z!rD{BLPOh#C$X1CZYLRr-fP}h=N7gh**F_KqqHr72`_6+&Nt#dti`@3QGrzuRzEM; zU81U=zM5cpM*$E@bo@c9_tZZJbZ${H1W23zVED0AKVb!2fc%G`kihDoH&~qZj$W)# z0qL%cAco(hBSS=x9!i#V3t62Va}!Er0_>3fO$Q2$P8^SjhweRg?}VC%yA9%+zG$!~ zv9kSswKkt^*k9Xs7Hk7d57u7=e<+4c1ga-+;Om>+mqb9O6p+|N^m}0&emUs0|Kt2? zVS9mPH(L5yh0W$`)GI#CIRq*+xLP1`rZ;dI;%UoeMWK`UJHZ_$$2dkxTlcnlS*rm6 zRxghLWd)204X_xhl;hd<41$3aB0Tn4=KmMd!`X1$GZw<^wxh#R&@zQ-)J`3b2qbr! zxgyTilrv4)PEN-ApGo926&Ok>P~FR2+zyp&`l2?jy18T^1&#xtlEM=z;@|B5 zDGqY5zIR9MPCoB0qY`Y4zox@5ybcNmX(&F(_gl5gs*|j8yhw9ix1>^)*JY0eO6BnC z&!j`8N{@+6ae%b4&505q0Qx63#XqjOGa=Qf@xH|F$z3LDdP&l&lLr}o&;(@tTC6%` zz+W$8J;P0iNo*WPnVqrg@+pX3dVV^_QW3pqMpLR z=zUk*tEz81{V|57=k6RQb)sNuqF0v#V8_y4?4QU~)hT~(I3sw!P`yx0ci)m}!h7sX z1Xg3GFo4nILa7zynqqex9YhX40E9jwwAiGhfS#8AMxqCSF$7`Bij+@zWehK${O5sQv%0i!7Q`9mso zS)PgLJ|`zaMD@H=;d`3z!1RB#yW6XG1*=qjl_0qCJ`s0Jy%D z!F1$$xY*s9m`<4BaVEC(a>8+7@xOx8uVg9#J1&fS&LzvrdXrH-}pnX{r0@ z8_~n&+{1&@$6fX_?&l8+i!<%6!(!%srUt!l9v12P*b=%;V-;|C8u+c!j!!_Yo^q7& z-twEsp#5yXG&|q=TxrU5m|yAi+L>_;v-7n_+9UT_Z?>1%r@>-hdgBs?JZh2b%$RDc zhsfO)_;O){2<=^Jl5B*0^k7lT(eoVug_N@onhrry=}SB4f4|8wnnxu5)|uWmxf;gkUrA(X@2vm`8r8=w(HWHo5g=SwfSV5# zjfMDR!UAwdXGu>rIJq>+YUI1^Xv0f(MJc@|M~p}*Va)}B;!EsFoaA1Vg?y%Of`MWa zjS@NYb0aYg3}r(r zS)amAYp+)+1G7^IwkioZb{oCV_xr(cs>M#RRsIF)S`3T>`h}I-Ba3EjHp%Z+B-&lcB1ZT2CSFC2 z7FMBxs3z0m=*~e}0DLCkQom+mHfd#n zTvU#x)lkkfu8McTaJ`?+z6y_kievggoMd+u>Q4>PVXlDXF~DqY(}7c*rF1;FvK2nb z-(K32dDL>^4R<+oGwc9_^w6FiUoJNUJ^3et@!wCgrb`453k@Oilh>)Q5Z|hiY@WfP z-|-^%GFItP#AFs1Uav6$nHBXwL4(CdypO!V&f8R*&RcTlIax0 z>CC!7<7M|*>gX@fdUX3VX35*|alRCOAG!W)W%q0M2q(gqtb;uFt|KACvvCnmzCjD{ z68tOixY}AK7=W1bzbm=_QRt^w$o4G=O&5snyA!A-h3%n3ZHN;u-@*}G`h3!}t9fJu z9C1}~r$CM~%~L|ZTD9|sj#(>-H>GDg3DXUqb^AtjI<02aCc2iM?lAAs;g>AE(6e5s zJPisQ-Y>=vgqRA+-zEoSlbGkN^jhRP&EfQv@YJxG4orQ%7`>a5SAtohaxHoqMwXzJ z?rxrX@e^eAx6nL+k44-YPg|W`)Lmj}UGEBvP!+drEB3i&wD)`>|8g!suJ}`reYhek zqSX9pUO#2MFxXLaIakjpI|$KEBY+%jeMx1wwzqW8y}iOttmW_xjYTmbNga_0(IK?;A6h$9|Q({jVNJ zrVIgj3?ZP5lQHtLCJC!P3s-bu5K%J%Bbw{M}ae_h8_k@!vweLLj^Z>0I ziK#FtQF5HGFY!bM$5vx8bS<%}cBC-Qs5_r7l$_YnYcqPY7 zZ`9iQW-tSdNSoKEH>l8y=D$C?9Hl0n`@_5yQO%c;lD?J0Yv)DU@~Xmq-GWPW{< zRj$&5&bgPtUNn8)N6CLCl^A=u8pe?8 z6QO>Q&9O9>S*dA|{ybOn0ASj+Zv(o`kLYw-3{JU`B>Ah9DGZ{mpVoPtP7uHE59CB8 z9)9SOw!xEcHkjqDT)M;-xGlcjwqHt9y*=o`jN3@ws|G_Ozw*=wQ;!agm6CJioj4;j z={a&q?#e!@0^gituevHxI0{mLaw`;_t{!H)t>X-x2?a$4EH;25{bN%qv{zf$?=iDG z)nPKp*U_<)|AM@-2r>+oMZRpQY4<_;(l=Qnm;6@!`&RP{vs%9V2`)auy-8g!u9`DejXA49NiLZPAKNrZ14aR=m+_ZRc@XXu?TVoKhI zTNlov-Cagl^Ej;mRbm>YPMl5Mc4AboPfPVmFb9B1ir2db-Y3s82#fIZ`&H5D)S|ky zWEeapj`<&-5Fa`a0o@w5nw5&)*}mr_SAh26JN2~Y_2pCf#z_~xD4FVY@$TSw$bXij zc6`P0X)W95O=4{CFG;1REVIY6>wNRetm@tQ=zToXr))VL`!*W4kg|^%(W`(NPekun zQ1AYr@KM3?ZWd6uA^om%Rf%P!KKao=nef3@jZ)^a=(StEdB4lkUeaIV_@T!_z( z%>%bX-5Gc)6Ln9V+g%OuCp+`kj{2RS5Ux^Dl1=ypcRS0fMJk-k873x!%PBFqs!wOA z1~;oOL-(5}#rOE<%bXT#EAh{o15d(kTlxgxSTldT8P{vCS#0mGnh`U3GdzlYme?Q= zEa&n=ninrlyrwdDYK1|Xvecn%hF+D#qU|6vOQYQ|hRsE%kWd@l$eppu4 z6Qn6;!yl6@h3v#lQY4$Rldv$diTxU|TRU}}?yWbqfmAr_^PY=}4@8?PJ!3h~^^qlF zpU_&tJNAB9k-951PdQ<1x$4MAKwX7ThUAjNazfzQ$WBxELVenJ_zYg+<6#7azWwTu zDAyLL`+52P)8LNzZ*=!b;W$En{9r@Gt#n~NSC+Fa@+&Sl0^BE0sB3=SO7*^ZlC$V| zvz&6l=QJDkR0CXHegMeh?KFW6bcP=~kJrHZ$+aw9;hHSmZSu0A9!R9inYND;D+H@5 zr7krV16^kd&adM8rNlSfPtFO{8Ryt4ul4tg3P$$A>Z%)BM^9B9wEcYVeM-JS?BQ5B z_jF0onBSAEBBVsqz0x{cRQSNUKJ-9wedtIgRc^kHLJvjlg01ARasDN!@h0GLQo>F) z{t=R4I{IzF?QuewERmbgdP=xLMkynfA{|gEYnqsY`R2PK7Wp<#tFlQRKGe?*yb>Gx znI&~%zt@`~qYttCq^CBKOWQDJ6}L8Q5lyXFzVu!~gitNSUX{jqWu^=ifDP%X<0;c09(^Q2Zb@>+j0rFT}R0lm< zvc6eHef1sGQh2#Xf^ z`&A0<&m%lZ-tfYnB43Xoyjm;^?6t3e1A=F?8}5OX|HCWiAgpEcjb~d;N09;&6`+y$ zqFWYi@wi;9s8Mwa&XP^su4BZGgT$aUP|a|$Iy*j2-D0S&N~wPRMq(Eo&n$S663J!k zn|kAd+Dyh#f(hxyQ=tjjOnsGvkX2rwt|T9D=s=JS4(bhYtvy0>ueS6*<26D zO1Yup_ENbGkR`25HCv)c&_5wasL=84UME7Q#GQk-fN6;M#aZ`Ci7fLK>MI^Nf>WOb z`p(!&+Y!5@@bV-Vr(en2y@V@r&;49gMFICs=qfdZmu=hK7$CXdL`4827Yc*C*RUtr+{WXX4z1kV$&fCxv`4^y^v53cNb z7GjyTg+9+O#8}KP#`}?WedIM-m&?{?+BK)Vksq<>>3R5<`U7|ah#JUIvgjx3Uy?U# zN?Fr>`2xv6OCy1EE}zJ2HwUc`%;`l0DYcGxyjGcy@^j0eWWo@310~Q z@e3%f6qTbg4wRi+`!4LrQ99G#D;Z4bw#p)?M=vsM4HQMoQ8;9$QkB*=BxbM5b<&O7 zj5VR=Wxm%he+y|+i>E}#Mobjp=Gw|fMF@vAHb}GUJGMpl#wsAK1B&%tsx^O4b_m%oCCIDL=;7fMetGGQg#3dKCSz9nx!^cZfZv5W|Szh@b?Ir|iy&MLR{p8S4vGLrOIq z<$fM9Us%e?`)|n2U>#3n~+8 z^E_;L!cRjn9-DiMy*2KFv7!InG5ZH#^o$G`hlrjkH3K;X2$2E_7{)j+rQ`~8Ugt{pL9&_a2T$6`I5-cYXDCQRu@XkgOn`7;$v(1$4VB)Fp{Nh^7 zOrP#*(H7vwncd1-7jX~@KXNNK0}3=_t>N!qq;FT3TFOjGyrQa#N2fWxFB&?I)tUYJ zarUVFIs}GL>f}H~Ow%~VrzsP|a(Q{SuNE#Z3mr_?Qf+ zdC^@#FAcv)4#cuPA!Yy(f^)$-7=?>IoCtM_=NEH8}YBpoEJtIJ$|Gk>~=C{mEy zfVJP~2pw;L=F*uRqN^{_J^T~}_b{B-T?<*10zPc{K}#{bZpE^`$Jzf-@34ftz+~HQv!tAnC>#Hx?EB4_uHaf%QJEqM@xK9$L3%i48lFF}! zWvR5%n3=>mkk7b@ueII@+U#LzY2&HXsDuG-MUJ)b-jH!exb5!6++|oak;Cy+*m}Y% zh&voS0wOX7$-ljzRv<|jWVIGOqR023MHUl+`_+)Yuko$@Vx*&k!l7Vi=!E02uo-`a zl=ymW%kW1=3O#XChSt9QK*8>`8|~@b3Eyp`Sx@0i=-0;0@%dT&&AerM_<^5XF}=MB zo%vVhDmzz;U$1H0=2hv5jVCDIo4;i`XPeQfFw?l2y`|HYfqO$K*g`3ycvvwZaOdZYSE!2LK?Ag`L=#>*@@DKacEgn( zwq+8IqU{CnU60oiS1$TDdj$Ss`p6hrxE|kCU71ExZrBp@1dPZ+kUV53poBj1m8QSc zq>PRZr;s|(|8w2`_ez96WaI~)w5$flWc+D@PmlJ`MNR)53|w{14+sm#4!OKZf^h}0 z>MXm}>j&ub@AUuooBy#H$YOO(5g(6GO{Xt)7Iiv2!_ko=Vw=7oHr>>_4AodDyr0NS ztS?%ag#Xj6{M!$ESYpK3$^_XQ7w@hP(wdOGq4q#QaUY2yaMToi@1>_&RQ8+i3xhgW zKV43fBlWQ!FGP82KSJzQ()@|AaC2r%Zyw{&b=b)iugFoqkoMruqQzh&l!mBzLvhfy57>mUc zPmaB+o0LB$rlz@su)z1JV|P1@;JnpLNQ_O}^&L1)ZBJlY@Gm8XL<$LEbEQpn*Y|v9 za*fMk^l;$go5RSlHmvytlnsTBpcae$hD@}*vIXpQ5CO-3jO3pN`DO^A`f@tvY}g9T zw01dn8#Ra!qtmnL%flwB&I<5#U6by(E={V%T$$(FM}PHXz@BRg8Ipt>6`p*9{is>N z8A*q_%>`i&#BN2+pAQxuoEZmM*IYM6Mk3h&wVq35T_Jf=(o0-h@|Si^w-M-(fok8HebZNmC5pSj^>GL z<;{$XSBEXKjWscRNHY+P|JZP(svJ#p9@_pH}4RnfcHv>1ALt|A-q zX6X39jWMt)9=#}H%5cv6>ymAA#Ky1TR4!|y`CSfGaG3A?ExI>X-He~s_?J*3d%o;z`yC^5{eM|o4RAVXwbVW z;6eE`!9qm!+6qEqgz*2gcjbXlu5Eva(uyP%GNmZ{8d;~)i56R@#hwmYknF}b2AxCM zM%l8CBt&Qs8N*D8Nr{GoY%^px7&|i<-|d|DkKXU?neY4m`}{fXdFHyW>v#RG-*r9n z%pHFShMd&fJMMOQS6^;M*@^vqezRYXu5#EWPlFNM+*+uR>V^92joO}$t{#fGY0zZs zI|pr^QW>R}T<(z->$3bGLLEBm-V zg9eZDO1Sj|D`l>Xb?*2iCh)NoVaY=}*+1Z8J=jQOn}pu#OK8xXUsuGiEaiEJIkHH4 zEP}N{8Qx%i3d1av`+iV#W83F2PH`t5H9N)Sz5_qlvCV-_q*~wXQ3|}6zAjx7n_I8C z^OHDq!1)9Y#E>Rwnv&OvqpXkZ=?@!N_`pHR#%!V{d!d$cb>I+pilFAKykfkR8+#}N zH!sRBQZBVSw1w4QX#XiCbGr>}kV6h;<&eV6Z3Sd$KCVN~rXTFrQK;D!!~2*A`sjk8 zI~m77*o0^cD$eUd5~~4|RbHqwQLV#Sok9J>%7aga|0i!8jf=8iCCS=1ir%>DF0&i0 zvDT$w(wMzN!4mvi9stE%KUeoo%8R^vcpVf5QRia$XUDH;+(!sVjOfxBe_eJA2j4`jy{m`-3k{ zAfMlx+a0*lDfdtwTceF%k`UFo!+}|{@VvQL;xVjzd&|9(A!DxeNV1-{%jCv*ZkXpb z9vR~-ojWl8%hWX@QACuzCi<9d(D2oD!gA;LUQCU`$PKiwim2b%K~8DdE@jr!D)1T2 zDA1foX?$oLa3g0vpY7Myms~5VP&}8oR2c+5;$WP(ovjENOBE3b`W{2kM6>!+x^r0; z><-$))8-|Q?hyU#%5}@oGwI^c=@}{`a9(OhbJawX#hSKaEX#3xG`{iy(NC*G8gqC` z%WrMyO6>NlIS484{;O<2FW+l5)*W80N2S?MtGn#j>hS4Pl}B@golwN#?nBkJOJ?4a zdcV0-Imivf@b;#+cP-^=$6N2-P@yL@zbO2CADpfclc&EJ|8R)%{1kWl(YO?trg+@+ zkcR4E=Ahz-?;3;?%`8UAL;T4Y-a$2btFZF?_hFBr$F8{1=0&Du9j}Nchobqh0^zD~ zyT~+1w%|6VjXlOf6S^_>27c1*8#KPp34GMLKC^XXg`?xaXns;5(ouXnk$zRBl)X=ewoxtfm$F`j}a zk{RbF9=Br;_GPS7w0jj@q-cw|L)zH-BC%T0;2Q~@8hOu)cCiHx{__1!gFv*(w~R^b zL1X!@HOrnZio`mqew)&Ipf^jm<@>1=eZ`3h$%zSaN0B~rwljro%gQOz^PjllI;X$Z z;7OmF!b~6C`G>mNNOrET9Ah7)C%(6ko}(2%9Zja$;-4@A<~FoH+kc*Hi5k*=8Y~j! zs@~WV6~2p2I515svPX$AN?!#lHuT(5nNUn-)cXZVQYIj^dV%EVeECk~} z(Si@U7Tm$;b?N-IcxfRXS38|K<}?*ettdX9ynSqHtU2O6Dx)zF>9!zUvhZwRoIin` zIh0r{y}{LmWk14B=kW`gF3qF4&TlAtqq81g!2KIg9Ax4)FmcL7mv8+*rB};HB)Rx! zM7Owv;ixwBu1RUkNYinma-v?g>eeOtlfh%p8;>*87vC_=6;N)kFx?IKeAfa@YEpQ9 zTI*A^E>wFkT0!h7&|qiR?S=B3O2 zUHby1|C@yQL4|+JLTH^~d|hw(FwM|86bK%8yk@Ja8J?=6%q=Vm;~#dhRF)p88A^YO z8a}8znEm2%=aW~Gw>`x zHL}#zND(F|ZBU=QlAx8}y{#ty^zd%4Tm$2?<8Ov`PIy9J9zGMs6A+6u7_IFX>-AD2 zrhD~NJZPK`S~j3J^gZ560!q-tG>g^RJXB>dewGvwDB$N>N)1|%9@#8ci;aa9r!6sh zDatnSuMDxpm+azepZHA7yR_#qd>UnK+w^Q(YH!A@+LfTO#r{~ko%-TW9rf2oz1*0n zjUO40^ptOfKSufYtJ{B2O~n1@=MqAvs``dBn z(_a{Q43N{5&P2kKW$IG#=nYp}N?-TmrjeS4sPHOCeY#Vg{W#c9x~#*>^rdkyTU~dZ3@WoxYHm=BjH95I4?7^LBMQ!&zRRS` zG1NWs3e{!`idvAqvaVJd7zFi$2RA!u3~g>+vZB zg#NPmt^?Oed%xDTYMz0@OmqaPDJprlC_8t#@MTGqm%gvVUlnT6;{9{)Qi)jsEk~xvw%s zj4$0jS2uZ*f*SJ!>QYR6+@oc__Fzig~v%Jinmf@o{ z%aKSM@iGNlj|pZ@jv}*{jlCB+RjDhmje#l{QNMgn~Vzl8OZ^3XcV3^OGtOTaL>u?wl?yG1u9tSL0x zV@3+UT{z^8UCk?rIw&G1?^)q}*$!#Cm!~8OoWJY!wR}N3{Wv1ail+%yob76v+=IpnV zb{p`+0n4M$Q9bY0nuek_7(H_>QhFHyNxj}qMwaRt9qa7Ti{Yi?rOk!x84ZWw>SFnW zVaa$Tm6wC$-6)^H33O=coLlyO$a38-7pEut7Dayc zgy%{;%nuCcOp<=ntC>M&wR(>azd?IkVb2is(d$kT#4U?W1V8^*!HmT%5$9+vt7V~J$2W#Cc#?3D9_b40b{)nVNt z@ypt8a6?`XBd(YChrhuw(U331N7(*N+NY>fjX?}z@5`{P&Ov^3c$=e{pj)#R(#AMjW@xj8Bey>-4Bgj-|7N^}>Cs^6wI5JH-l{(6v zW@E@E+tJ(fu(ilZ9We}g!R2g}NtfNs+?%|FlW;^9eltUhXFIH+GSo6uEhNS<$>pW% zs5pOpthIz(z=hR{2e|nqAKZd*vWTvJx%(iQC|+bbDQ2bimblu3Y50V^Aq2*12jpZc z+LV?*czzkb*Z;WU&k_QB#1^@9J~>ebtG81#V>UgU3i_miE2Lfh6Jp33D5)=eGEQOD z##uW~Zd51LH78&XRo_#0QPt#+c2G59Mk<)Ma@$_yUaGlx?W)F`lc~u~az2l|c=)bv zs^<6GES4e4AVPgRC`>9Dxu_E%e_<~^XNY6 z*B5!@;_K>y@HkLhDmar)MVza0OR%dH5U+vlO(A+oAge#3|nHN{Q%~cbX+|vn|0)_84Pa zd=~$kh*&^>%5QlY0HNmUTWHjlWPwAqeLo71 zzoOM^*d7AaPmp{nhVaK?9Htvof%iZT37^WspM}ze30P8WPe(ndoI+sSa9p%<@{9S0 zaxW2byu`-!a&UKbu6tpqNu=oE3u2&U6S~WviPz>A6P;C600=Gx1}Ey)20$8|5Q+ej z0=HU?Y4|Rxco3(qs%W*}JcwDdnaq=`tHYjTD_ z6FhB;$eI8fxTZ0r1=$Q4g_Dv@Y2x!}Iw9Z1NvwU!`g+qNVYh1MtDX3VAf{Wm)wgI< zp&$c@tHBhWL0KK!Rx5_;s~JQJse{t62uef2#ts;i?BbES*x%oRjg-D$CCOS{C66Wz zUSq73UoYa}iw0*gXOX$CB|^{)faw5_FM58Ka-}wR}NC{EAQkfUOA|5EY>RPIh}<2y(L)- zx4a5YoWH#yeXW9_>HUd}q|TZd={m4a4sYS@D-z#QT~~{oc8kfN`5ki>jli5=V!IE% z#!6^BP6<08J8Hd%}+YDFN7d`whv9?XOcXu9Bc9LMex%{5YABA&#i8}NYO+(t2L+X zUsSa|YD=w>-d@>eKFW5WczLgw1Rb8f`NugCNL%?b96( zBGxACr3@`dF=deG<>EfeGk0djuI7w@&W8^Qp`JhkB)8qYyA#qxxFmO2 zfAp?|+t)L|wI{-DBA|WfAPwg`tbIvc@W4(kt{ICH1rH!2ZZ-@qE3?5p7Tm?h7xMY` z3AH~U*T$i^&bTj;&G<{@!3bk%#fgJM<#>7C-8wCI=o&BZz03heTgb2F@EIkA!2L>x z`YNqJ(A%})P3r!yFvXBTvSnlKt`yAk>rcejAu!}!47kb83ssQI}X7M?r ztH9Lhv+J+r(0Ad?{@ir9n78d=k$+|u`U>iWkQ2M7YN40d1Fn}fYW!QL84ZcjO1Fl4 z^V7ODe;0S@@r7qH|1z})M~KFZ3EeS1KoGrk15D7ENB)9vAKblwPKesI~qwen2JwPrYQ*+_9KaZy8XSXL+Trfy- z3vCn>STl*OuD)IYsH&7~&VYv1Eou0QeDx7Z){f0C=dp8 z1Ch+#|3t?GvfTy}<~m|V+v;Se-~oLQ*p;pVa5xNvd(DJ5p>^PPM$M8=J^Q`wi^fv=P7Kij}R6FDiw@U(A z%*1tEfv^+|=jQkO&6N;^!0r2Gf(BL23zPL^OVZL*S^e+IR&b3y4b0F zF%i-iptOTQD!{_R%mirrAsxZR-F^(%noH?0=d_4N#tHy{QdbE2DGu~=H69=})xg>g zx~PKp=idcH#$mwwkGW>X02|JSTv5=B_$0*jRA<1Fm#8+ z&|SmKyn8(7JdgKz4&0yLway1ztQpz++E@JJ7du!(O`d}61{nwhqEJ+jc?<#(zXE{> zZjzh>KKZicD+&VPxmZa{YuHH3OFP&)ywq}hW@aH{8ZCzHpmN&>p=#**1?BN_DO?gwtwVXWz%ahm4O>`SzizANI@BKPX-6xB_@!-Q_G1lM$YEnl?JKt_A=4fIt1!|>}@r=x=7>_SN= z?=akd!8-eKx}l@(HG(TcG(FBd^)OzykIXu-R*@r5bk~bGA;hA%%71t=V?ZaNg>G51 z^BMKsYatq%euP9bz9)zX$q3GuIwl%ik@y@xWE3w_mw(&&nfdGzuM^3`<#)BtD?U`k zsCGNMjVpek@6(s2X5S}c((B6 z7Sz-C{F3L)iP`y0dVJTool>UmwHpB$e(Y#s8dmEDt#c1MfOQbE&{ce{stRHQekTFp z1zCXzf#2|epBumr2!#J0|6iXFzj{ybuipu7;=c46`+N}uk^(8pJk)l>Tb&?Ir5`c6 zxr}X0^Z&5^ltD3DOfg1mD|oVL+ey4(#ZEX<*d78!3kjxcI+QA-nXSuTVn zM_~_AV?3u@!E6CCuRwVCgd`VkO8w_wc8qUIZfw9QPW=!6_**GGDbR4}DcAVt<^9+$ zUI3Lu6C(vqza8$s-UO}EpEjI--Yt%V1f{u`bC8=d}tO?K878<^j9$Ql`F^+PLVCcfn68x3EpB2UiB zE#R_FUdhfa<`PWXT3!Mm5QVQgBJeW&hW8<{xS@>qGod#}&Sn2ZFiKB&-*;mhfq9s2eoMM0G9md)hmKjwWEnrf2vlpY zsm0OY^Q6+=n1PcvUT!Bj;zdIi=W;@&oCN8T(!X-(f2bcS*x#KCLQ!UfG@*@pD;9NA zC*7IV97HeYrHkuQGWXa!7>2`7u6`GHoa3gz`k47lwYxQ{%S~5LRddBRVn&y0ZKNxU zz#_(~^Jm=T3bO_sU5J+YdZZb6>S9pyrpj)^PrZkYh%5MUtQu8#(*Xu0Z`mh3lsW1b zVfhXY1uEW+w@=TkiRDrvyoWz6)87(c4|UH&($lxy*)G+l5`JU@rIviIpY0NCjl<5) zmrXBUp*f)o`r+K&EVSX}&TyP=&UM`M`QCos4uU1)>&`%4Mu537Dsz`F2_ca*)g(6M zy|wDYEX&;;kg@&&>%CPmUSNJ;`@_8Z>KM}>A{^H87{_*D{Cu*AVSiI-E=pS?~w>X}@Q~ha(vo3a6Yri@c}U zvz?BBG)vvMPy!ym zL7_||GxtNbw-UybJj5Lw_`$ZkfA28e4HMaXxvlx=#QX_8i=!S%CknLr!`D^I_ON|O z9&yEPPU2H0A3DnCNL>OZ3aep^Fy;NIb6bM~-_C$iUbT^tOZ!KK*j9hJdG0H6RNSb_ zZX^0wy1jHhgs-cu;P&a0m7=LK5G+_>!}HfKv~xQ`NCFA>04oU^u` zt+x@31b>dwyOPg%BV=rUHF3ZueZv%8Rkig!E~Oi)FhWPdPf6Lz=?U%r9M{umZX~bF zF<#C#>YztUUZSVRpyy>@Orsp(iwbaCm&9s8Bt0D)*nW^2Ud4B2ET~mj7%Yr$d(eD{ z?seUXTeQ1HkM!g!yTMS27K1&?9eYj@r10yVk)x4GC?jAXa|%xMq^IieWxN|n-2h1 zYFhzw#kCu;t+N_z7|wXE^T^+=fPfprW3o;F?*LcTKUUafx|sh4RU!$w`CPT?Qxb;yUY_~z< z21C=hFHJRjkRhZXDh5gFwkB9(Lr(S^(e?2QpMZ!kg{cr*kaWI= zH;{n@OO5CRy$rLj2oJr@)gpf+SEf=hFmkzbuLr`!m%4nGB@f>l3Q6DEs6Z z+z^G$7T3h)1v7X%P$*yh*42!i9L8?Rn~pj72!x=Yx6!VdHN%J&R6%Yd-UhQU?54lw zSf67zHPXXYeHE4B&;~CgC#FXdFtAIQ#TwQVd~cSVMCq9SuprS+k&-RJOLfQ(Pq@?k zYitnmQu9rl`&I{lvPn{yESMX0#PA2zUu|1`7QyA)b&E`5o`$G-GJ%_0a z5B93I9`O!q+|~%kzaoe)l(v7=ial9(e%(yarq;GUby76#@SrJRJ^0ki11k_Dd7!a(YVbKZ$v!UXtX(3lCOyG%&p;sH_h3+Kd8I?vFm!$q&JJ{nD4R5F1<(+Yr?Jn zS;hbR3r`e$%V9N)-uE!z-Y&)Sk4AeH4q;auesIYq7u=LKNhj0R2DyDzZ&**|)_36L z_eBM5M1GEG+=W-g(N7OJ79PVv0j>qRU`MFC_T~OfVp=$MycaJxutO* zZ#oAGrlrN~9av}(M`W=2UMFuPNP2nw^!U`29sR3+)W-w_+nBHpx%d5t;Lg8hp8zamcD0)XKr5P zRiVSk$d-bxw<^6;yKsC089^Iv^YFz8ZS7pED=~LggHw5!^g^c+-X034_~U9lpN$&svRTi`>okqifEZ zKa;zJWO*pFgA89z1Y~7lzHC7p`g>%8e!}D+Zr`tay-uj(u%SujLjxg125ZcjJCYh7 z$^Wyhsfh`(8<^o{)bCPhj(bWLKVeePqV;y!mVarFP@30EFhsnXMeFX_10&kUPC!jx z^n+SP;{$cEbEQe`%GN3HFtScX&|yf;^;#m;`GDR(Ml zpLAVGg|x_$8iv4&&b`tJKZ*wGAf98Y3|K5iG~v{+2Sn9M5<1jqghB#0y;_%zNESL` z@2g%0;X(ksi0GAb)sgN|kNuDL5FZ!MyWD4Ph7v-c5a`|ezTP>nN{}}5E{Pbw;wnhZ zmtM2xlhqsZPxaht64jQ#vz|2=L*PWm(!*0Zwo4!*zo{H2S zVye&5zK7fWXRLl_4jj2i*#-~hV=~IOvwvHiP<*|8?3M-+Hz50Z7o*nMek~NA`8_GCv#jh zeM!RDdD!u$2fI3$B(3dtF-#LtTv?nKPwy!%TP#E4H*f9#QTu)niJul?jlM7 zv&_Z9D*qNH{&;SUVtfL5bxZqV_s&;soe!_$Utz{gQfpi&Z;cpFDBd(|f8j;5w>Mi(AnfqA3)0Vyn zHI#r(mN;NH(f9i&pp#}~r)6Zn4z2gie4_8moMZ(iUEDv`t{mOunZuj*(lY9=7KqTj z97J{>0`p~-)Dk6k(4}Xegh*G~>R+uJKO*p*GpfH!%8>hT4#G}xWo}r|^_!o%7@L9+ z!!TXK;OD zb`BeEG-cqx&*sVVNh(0ETy{JG{Why(n;hTq%X+8m*MN>Js(57<&cYa)4IaIrsqz#P zzhG$6VqhOqZ7?LKB?7B?{xrTKeaCa~w3|wqxDp1!%I_BkTHwPgm^RoF*m!n;Q#-=_ zRYRvIXWxB%hsLm;cM!8wnAOy1F)l*m`98N!Vz2?#jVl9J4;zVr?FuPV6?RA_ygKpe zqu4eyIT>;O^!v$}Y?=$?4)EMvc<{KF(vOTfaqC%(OK38%^g_}I$viD_hZD(-q^RkQ zCE6Dgm0|+uUGFG|#I50@rH)aS|68m5>yt!TKcE}eWJ^oCQk`3M>q~ib#UY{LvMJGX zagd=x69*z~SybQjt9p~fcGUyK#IF08jq2;J6rbbC?*l#Ed);HC0e?ao|8~UrSl)f} z0ctU(wZ)fp`38yfhe9uZ0;9hKjJ~MKtce6c4^oq#wLdBF%(8ztS5%(MrEMEz?L{yFO0+ZsZA z7pl72zfUDRzJaKFH{8DIE$MU>38U$lAy*R~6Fn37s9>+q30SjDI0r7P_9f=j5`z?efM z5D$eMP?4C!jI^2t!^F^UHnNpdO#(fWB5T3%v^L9>m%Mwn{7;#)0OTwb~ zLTfgv$^z?8km#Z24lR>b0{DY)m+K?^7liCslPta4ZA#N0JLf#QPdR~=p>v;3GXG$= z-ys6?OW4@i&`EXC3}hWa6jEVSmn*1Q}Q{ z&^tOk*Rfnh7dptPZwnh+8`j-Rep($4tu>siwSBfr?{z=1VL7d)t=zLDWmlqSXgZ7e zUE{(8R89oFul?A1z-g#;d$8ib?Z`Nn??URieN^;KcN}U}&pp!DV_whe1co4z3m}^G zrxvMFawfKhHn!vJT6%#}0VJJ1AfcqIZm`E9(XMQG-#@Q64IiPvi9Bv1<9X>5ZKgx= z3?Yaysy3k1d0^#OIafkac91<4R^|)(u$I$|ueaCZ5Z+QcDrP16b%=4J0!T5n$5V}W zt~)hwQhJ^AcBbxpUEICvoxu-E4SS>ppdeEaX^v)S$7X>RMkTMvc;_or4rRBJ>(xCR zVs+DNCus75Cw80GY1Kxwl_C8lMv52hYRCIUjN)*gUhVa0wwwT!;7iw{9minxQy&rD zPuMrlC7+j^y9#gXZCj-Vvf_21kc_Falh2!#dIs5#-cM*+Pgd;Vz7krt;_GFh^m(c` z+{MSj0Emk7nkCsCZR?BMM+!p(5_`Lt&P@J8&%K^z)*CF>qf&&eqE)!AZ#C?qN?0TB zO=4zH*~6lV!r7KRW!ofUDl>^HA{2YCn?7%UpT8e;w<~w$*ceUj5CMebyTzh<0bb?j zwnq;d*_IPH-uhz?hs_6iJR49+1dE(H3a93~L`r}!Mr!o8+LHgWJbrxyTfL*yo?MTJ z>qADdC?k_ACJd<5o~|{tMM@mny6eyEFwi|2_ITntF>UCrYI{;ppZDNUbopg(1B^)k z!&u5qoG+hnuqq)T;yH|yYZJ7z3aCdxzz`mj75%LBC37o zBO7k_J$QZR)a91C0~A~~^Va1~rAo_%O&6|RP29>K69&I|8+p9(WBp5O=J=6cm>sjSg*)t*08O!6ssL4i_ti^!r-l-9KijJ#y z9}eE>t^7Eb+S|Bj^J0r#u(dx4`S2zJG+%Cy<*261un3`E%O3??XbD2 z(d%hoZ?5CW)DXyzv<``w}3Qo4+vI z$KN}qyrhdfR*I9%viazt_Lo5n6s8%cRr!g|e$MhB%Q<7`$%phe9U1(Rs6dfui*Nki z+}8TE-Oi#TS(!V8Iu#Fc1rrLpg)uq!3f=T=^c z>S=OS+l1~42T7vLD~k*+*>M|)!raW8o3iid3vh%3bvHe0#p%sXqOu>P8UbwaL^sy% zUY9lMM0Q+Y0iHre1u?$#HCv12wek>YdY5*FibZN^irdyk|J;$}abNA{sTs^wk8`sD z*!}rhOwHtdL&#)Law}~6?Zk}L`%wQyDz-@RqkaU+tOx96X1gVP1gl<9D7~+zzZWrP z3M9OgPow5cF$j1SX!FgR(>aL>RvrP6VQPAgn&r+_!K%MPQ{NOf@&Y9hx>$a zsGdmU+-B&Lmm}`eJ)V<^52AVuEVZ9mv1yU2%)_!rS0#C?rX4(f2y3}TT3f=PD}=A| zQnWo!3!U&gB)?WF@TMP4^~cXPyipd31K_MqH&89Ga^pPWc+JGlFn<98$fl6H| z*U?z?VfYpmXFXJzpTj`NCm{DIl~3eP?mXG*-Pz9l3eK0Ib9;|F9odu&xy#9cCI zh00KBV#b+kzalr2Ya4OsV`wXxDt~HvQ6OriwB^`UvrAI9R+#HQlG`OuOm*9h&@P;m~W+5gD=_V zzT5%&D2JlZGN$Yvs2@b>S1T*w`@EMEy=zqIOV`uV9I=l^B{0Q{EVee~{w;o)+s?^F z>2s$|7|3trLjH9=M?1Eyw2`F*n+u5wCJO{`%kt(o`Bo(v`I0n{RiLfU=1%H%E5B)_ zddYEOSL;9qi1KYSz8=|?E>=+y1ZbPTRvkpF>@+T3!GWJFdXsB<9w+Y1>@+^#2|X}U!( z2~k8l0P!>10^Jv!%*rUbzenHxs4+)z#YiatK+YnsIMg|Px!ZRWg=5ajuyc`emfI>o zL;hxuiS!M(((6^_=8a@s$F(2d@2p&7JYJ=y&X~J*`jNXzWUYULSBF;RT(=@2n-Ol| z6yLc(ZlGkZd#{@ABTURtoHoC^gN(@rSEmnSIl0mq7~{*`=Dx_N2%dGfqt=&F&RP2g zrTPqlC;OrupO?~UBIGiC?^!1=XIV`2z0e=Ki1et9$$88heXzNhkzO=4+D=fQ5xyg@?NvQJ!0O@*%^8GT%;; z0a!JX3Y53&jjA_AIZQD&qSQN=VwOB?p~8ovz1(6U?T~I!pAEky$(Po0$9>RG?0S-i zpYKsze*OWyBcRXGvV%o;IEj#oDWCq-)-=~>K@7AzANNsE-yI!X=N6FecWqg?Udbmf=L2A@)2@X zjt+GkF}y#6>e2Ib)92<@Gt2q>X!UTSr!9&&J^ks_F1_$>9ZQdB&c2Y5=IIDkqNX2g zKVAiembZL94PLm-OPKr6q;&|Sh8hM02L1NBB7GA$e9rQqQza@jqEmb`Se}W#p#FqH z@LLwGj(ihl*1>rRQjS?msAk_izgx=^U4B!?Owq>n(J!9Z zWm+c>)C{?}i~dSpcFF;I4SL(i*R9JF%mB2Wh7gpM2Ku{ykIbU>_nC7*q%e*Oq-GEIzCB{^dH ze#?5k+-WJWliDxv4mq#5>YULfKLEt@F}JirX~LNFMP`0r44CvIUvEXO1hFcG-wVAB1q z5^@_=JNyckcWKUUfhA*&4@7TQS*f<2H&U!P^`HXjflKwh5AwBnaC=2Z2#`&w3EEZi zeor+3+d}9k9+wHt_STwey0a}r;ftPiAvT%!7U*adbyy8U=P!U*E{7KpzCu_f^sI`B z%)Tpe8G~7k{0)1ebn(SRgBT)CtB3CU|6D@r6?No#w-8PTb~fMf{u1F;`}Wo{HL>!- zORyX&!dzw?O<@Kei$ZFQaoRAwtOKaXQ!^q!m)Bi>VO%40Bl^LsAgxSa9vDMAC4^35 zAx7#BS*Jee@KDgTRYM*7_Mx|@G6(DyY9%am{zx376g?k^SuX>8^!*J&;T)(-m7Fj}^XmdS`P}%H%51Hbqsh59+w{3f0Ni?4*YCKwqC&1#%=S z+c1kX7wfwSccJI}8#Pl9*Iy1S85-#}T$f^1a;R^s#5mEbV z`$*TP#|8Jz>EImUg3L`CAc=D(DKj2^GrQRGI9DYQsMa z|Aws;AOc`P+VBpV2*YwAq1aA))I?MRJ^qfY$shroSQ0I>%P9O{Hij}Ayp>D)cU$(_4eIKQ=sW$P&+yv)kQ~)1yx9#UYih- zbcRStBo(_3jM=vvu1x1KM5Y_1;g$<{PBnZuP-f$b+tmBk058H(>uT{gV^bkB+>+)F zg~?i4e&pPxN~dm1ZeOuUfkVgvidU#Hm;k$}o9f}=yWmrDqEq_TOWN-5E=YnSKa{~x zyIkZ1cIs;{bZJ$kI?11xaKR6rO7tpQJEXW7gS>Yolt~3A>H$PVf6tHiJq%v)*?kh# zu_%|kF#;8Hy@O{G4EMU42&kK~T$cf{#3FZ7)Rw_Euu%Yl^KW)9g7sau%Gf8{8HJb} z^Uc|c=99=ME(^Aci9PtvH$ZALu9z8`xy~JVzCa{RiPaO&zj`up323u2&Dwp5_JwMBLHJeOJ?OEz=9L|9@~(i3|oX;^#B58x-w zCQ#rQy#weH1T412=WDjS7>ehjCQGI*0}_f82I>>D4X`h}e}8Q`rvRp3JgTs;{ckRN z!LOBl)buMcnDI!{DG%7->X?(ZEa=7-xs{R;{uNG~T1DGx%wd8tjY={B&t{^MLjaqC z3M1^!|NfVQ^4Bw@^5nfc05dO3JA{oc1a`8H`7Sy;*{ayGX*~>ti(Sso2RU9=-ue}U z5m1vT6O>M(Y-?U#oV@I^*7Y|!7-~{n^tZ+Qq|I`DXqG!l?z^qAihkkhI;uhh93$=b z<@j(?Q$SM8fNF0JTQ4T&`v7zebIV{iDL3Dma66x|6Z7t-oipCf%H~C zw-<-;;dg1=f(_i$FhB}EVY@sx0zT4)I7rgz0P>&3m2THMK#*r{G%eUxR%#!KX7uGJ zvpi-;yY5E*b-(<%l}wU}k_RE*05;=FF>Qt4)Gn_#as6y?26{|r?-$0Z>Ei;4b}oG6 zg|)@L!v`G{=6I}~#u+@mIRlkLEbm8c8*zH)(zH~To;b=73 z+5W}7qzA4j2VX8qui0Mb2-ce#Yxp~W;#(pNVl-XcypI$*Im(+$#-ccT%O&d1IRa9C z-Mv8rvz8QxFzP9vTYX^H-PPry{lz8B={fre=exr8wycz)Sj#{o03%Sa3>F8AY)@B| zp}!u;Pi4j|iWY@Q4Ul)%gElv*75(dxFQy?92YVa7svrEOdJBLs7~gRGaeEN@OB*6y zE(&89OC$7;l#Nx&E*xdyaUfC?tKzV}5wu{3Ei9f3@cVJdwD(Pm{Wf@`F+cX8Q0QIh z+mci_Q`uk398nqvTezM3C7pZ=EaKAt)8wMw%~G>a?_`;I!8A8}B#jv&Ot9mwCjA4rK505R zuGh6=^yQ{t+C|p}$Z_4*t?>;Xi3o4IHn%6S)U_OhFR8{4m3J`Mi2|da*KDQ^e(3J3 zi)K|sSB^&z!dfAhhMXcxHsoV(2FNr$esQ>am1nSiQ zR+Qd}U(cL8#G&Q`m)MF#db%=(E@InsW&uM04~gRfLuCA7l++W#S3!+71~D$LrhE*F z+LGp}|Y{`#_pZwXqz?tze$@fX$ef^^rRAF=M7L&31 zys6#M?gMxNeszd)t9?$T>&Q7u{>7INX?UEZGLU-C&iTQEsM12k=eeF+d{er#5B6N5 z96p97FC6Eq)|kHo+wpeT7+pFMpVDulcBx(Q^fc?i9_!P&I~Kw>WHcg-T=Ab=0Wr9H zv@`N68`rUxxQ!K;{d$rTQ=q|arau^k89C#K)tdPEndQy>loY>0jKM?+HO_q}%Ge;p zPw4yW_u?z)5ELS);m=%BwqJhro$8Sd*aLsKFM0qkzaYzk!|s{&wTwb!kp_!R*qEN zWZ}Z8S2oEd>a!5>Jji&P-q<#$!V9bM9Lp3s`qgx8NlYA(Feu^o@lt;GML4xsRyvIc z(?n}7Afm|!%nf_=oSF%p55Vcp5=qb|F=B5mZ+D4f2pcjvaMZlyc$8+bNPVG{yT>S_ z+X6h<=e`kx-X1^T?sCsi^UvrGm-O&CnL(GOz57#o0dFB=_Fa4TXC&d_#LuZHj#c8e z=!-OOPF3GmZnrI(_sTq+_1V@_IY8Lm8)4*N&Iq`-PbCY;fyuo6HC3t~^+=shQ>;b+ z+wr5|IT+yXkx}1eT;pOC^|SyGc*7#N1r3OSiVgks&O~>Z&O_l-r{^~`z-D+8JcCAv zpMIWx|9xWCE70cUOzqR5U0luqdKJLKd`#UZdG_U0G^IdpAsQdg5{2EAdf!Jx_=+7( ziexB^lz5q(U9c%r^+59t|{u58h zhXDMvlJBGA(>Vs5uEdWOuu-UARC;jsd}zY}PjimsE%e#b3%?9ZNFGVfjkD*2%?R){ z_hr1poISlJA^25VMNoI0j``caBS}@1Lw=|i;983=KG92wH0;Xf%m`JeHhige#MhO_ z+MXvn&tD!B->eN-i~blv!fg#$Y)qQ+A4rqm4#}G==gNP*3n13`BvkIm%v_QcaIVGL zM#aWS#-L|4?z3{s6=;Obn%q)Slt6P(o|i4d=5USx>Xk%yzYYOV>N&@hA+Csp2lTx_ z1%4xeJM6fHQ*)~KMpbAsAQ&?1ziXhXWmG=Ua}wi7bm|04T_KN+203Lyd4O8U43K69 zM%w{8?sE|t!IqA12DXRqSEL(c`5h` z=SqC6{CYP>>EIb1>0>`b3BZ~~F<%UTXr!7rl_+|AM(F6< zFHhC;b?m1Fe#LDK7rbdhJ5>(fxjleZtdRkPZn;EdvE9!k-*sw9#@Zqq_K@+N&oa8f zV2sLQrTQX_n|V(ONq2y(1cH}07~@qyi}XpB3mBJQYjW$v{^#4jRCr9}M%t|2$BVUIgdgvM3}aNTe>w)#Kye$5>^I`M68orC7GpO= zA-v~A>SK=PJ)_+hdK!eLym$koM5?5K#w5hsf4-$XuOE2n!Jk9>>-k@#QF#6JC~!32 z>Z5u!j3&?D-Y#r3AY5~5@RCcY!H@gtfQ&M$x^CvgE{s+D=v&k9o+VXVuemlr^}<8( zcO*cmrKRBml3wyf*fJgYiL3>u3>(;|L*!zF3=ZAh?f%+ZfzrJk6VUo+OH_{kyrA8q z(}L>=?Ip{+AtNgm7^UXMEq8CVfmwrfLuQoT*I2vT2HBXOYN@FxzGbZ4hsaNDa^q%O z)YE>f&NkDSZ{rXVzo(qN_i?_=vE$(OkQ~nQyRE z>nuIK2bH{Dk3F&3I$`t`R+4tc68zAds8BX}O1NMIa+{}W;wZt?3Ch{=vYZUZmW+8G z?x?r)a@%v3PKoZP5Nkm6~8wPYQ205jHUR;13aSev3zU}|Nsr;8YR zLy`f&9J@AX2R-p=?(sO_!;j4GZ>~gZHnUH9%?a1&-e7Bu;+CKelGu^?@X+LRo=fUI zjOds$J^eNkz>L4fAW+RyzW$X*|D zQ4ovq%mV5(X9l^0LI1LY(x&U)L275W#ZoThxIl~}$X?W2*cJH<(F3ub_vKdr3ankA zX_mY?(Qr2%O_dQg3;+53z9`|xC+}wo;K+o%)+ujjf6W8S^oIbnyzjeO-wQO1X96F7 z9qR8_dMBKgM+nO9lHzmw%rBgW|1kf!1hDv9jo6j!`)*k*&N!fg^cVY4U_79ltDSGg z76K+Kaa2UxAQ&Ax?Qlm@%=`3w-B~VG2IXSQU+lTign{NOV-`_aU zUI4QCiLy08N!mOp!*wINaQ3S$#lG7TOn!W9yZ{8^gf|_bV;i>OyR#NmC_GjL*f>0~ z#|BQ*8;k{aJr5rJQ4ai3EZ~APk3T-ZS-P!b(RoY9larlKfYcshAhF$)zwrVGu;rig ztI!-It4$eH?U-$ya@YB_(j9Tai4!g|QML3EXB59;SpJJW{;!cA?sZAQGTs~0>~lZD zd#z5TCS?fnO%*#Y9_8?zOFkKZet;~htpchoX%x1{d_9n}QH+)ksd+61{0)=A zO3qx-wGO~d@7~(nQwj4syfAEi|!l%GS!HD^FiR#-EAn zuhR(>BM4TFrR#6gny~@bmXVBB0$?3#1E0AJ11dL}Z`}a&i~u>72psXEkH>Cjcv0p7 z#)hpgShst(uLp9URf8tl`}uVv$^aU^n}4j_UJ<9;3ouiH{_d>>SV^cbXvrmwNw2Da62N)G2R$hWh)=5!s< zfKpFQJop*rCcopR#eIFz|j1oF7XY_S<-d-Z9`~Xk$=Yc+9PLBItkn3`CiS z1z(&SBG=P2$28PEH2Cd`B%}kNY;nXpK&0jltd%VV4lv!#F=hRMHyw59Y?AQl^sw|8 zAHD9@0_|_l3)eq9V~rwaP99^K3X6}=(Ek&XXomnkU2(>o%vl8}AWII-eX@pQ-~gf0 zAU>QPYWrOmBHqLTEZ<*C=)Y9gJVUq$zT~s6kxRPM)W%7}a@m15BP0R4A>Z6j zj}%m6+<4pUXZ@nv-;Cffp$C8iJ}v-UWAPNqOgaX9z&^ln$Sj}+clXx!P;Btun8tEQ zaL0Oj7#X$xYsDH6X3gS4#6P@i3+$r2=e&v4p99`T+mk$tQ~5 z12p*AzwdvS7PP*x$}kaheX3_*NT#XDwY78(c=O3SKwxOtRn)K?NBUmpf3Nb_8^DRk z&(pQHRwNHy!}I$5RxOd*PcJw`pxC}=e0-Q&Wnub``SNH=HoAH*Dnh8lpr6jgPPKiI z4zNniKP5-|1E>-=fY9GHP{+|~sa{?V&q=U%3?~bmS>J`eFs>K6YTPWMFUT1>D%)NG z{&}scIGpM8)T0fl^DZnsk|Q3jF0FvCSpHyN8ej=JEqaVnPHSfKrToeWZnU-5vwiA- z$-L*ld8oX&0QXFUV;=c)DmqEN=;r>k(ZRqM_5ZN7=?id$8gc~_M#Na(Sk8KGWyH^6 zq*2oAvjW3m#@Ut|TR5#1o%iO*z1{O+&egL@mlgam?2|9G0RFI=ZZj=E5=n*EhilDW zs7}V=Ts$qGA3?-nqLcvpfB&buD;G9+)G6%L0s8clIMUVRy@C$!L`bDYVJ&^ft%>4pL_poB$VJhUjQ#5 zo5u7klciQe(oApl*8$>sk02=baRpb>%+E?U|yS&3u`L!J`LA-|Anyi+$+H7#aWd8MPUdv zagr(cZ5V0|D;+KOQRD!;<%o%*zr2g-&j{$}&a82RO~z?@wLA)09*w*dhckgBZh;)v z5<#0kWzW4ruzCod{94I==Co3jlhtSdH1q{zC`>ZO@W25A|y4~KY6k}Kwz-UkeE zEgB;7o)S9g0*8;}sfJj-9_ch7TZJ~MB8|W2WCQx67xnI{ysv9H`y|izNx9w7P$L+T zo>0t)_Q^p!1I`$AUiv6wUWO>0X0n)u9`Ifv)??8qB_AZOn@C-PnPs%6 zFg?)twQe~yz8jy)QQZ^YKjx%OkZq%z36Kev#zHp;6r20@ytHZpEy&H< zZAwBS>ILME+0%j_tC|^APSxFt@R>;p{wRE^oK3q-%KiD6rj}#^apWB*l3<+w*A3*h zs&V+}Qds@ZSci}7#Ot{plSygvSvxa}SwQ!9Utl`5WDN%3D!Ksprr;lfG<{09d;_{-S}=8NBFa?q%9S5Yap>QK@H4f4742CIkp2p#Jc8SkE%?| zW&SCi`m}MaT4-x{UFdkaB1$3@snD@rXRp+SvvbUSUyL!?Pc-p3W&oJTF!A=mqd2>= zBg?644=7xyt4GX_H%Pq!Eb%}0S_53~D0ykq`tU6OwN-CircaaWiIaeNWuaS2$HlBZ zafvqz30+2EF;Oq4of`H-(9-j8#~XCUj$J==vD8z7$jUFccM2TE)Bd(;G(67+G$m!n zMo`1u<4UUwE{ZQRLcvX}5kBrV?%$ls1W`ds9$Ubx!J^cxQkCWSBNO^G+rC=iY%8OT z?(>eW%NdG0I61X~ym4OkGj8Ub>{L;EFnAJpvBehdr4-=r$i?EZ@@Gi*4tW{|MY$E= z2ZOUsp!^~wZ`k-8c9RwglnAW|J(DFqt+@63c==wKK7mleUAKm<}g9+SL zX>L)#jbG>=!))$~=fs8`dd)QZT6~$_7?uO1bz$_)C^)uf(i>jmGC@3rHH(>^j1{_L zJz6ftY_R>f;ZmE^B|%ZA=;t-+W0gn`L|UFV$|t#6Jvz@j`8mH;%7?C)fm$_F(Miv- za`QD=r4I^D4wr83ds3Q9HB5t~E>062ic-AXs5=;U?m^?5&|{r2@{f$oF#F$JVa8d{ zDSC7u*7Ma=|5L=opu9k0a6s0fqtrTT zA(H#q)oofRmqt$(!AWRiuG+4$h$PoNLuOg%svr8RR+&-tspBWP`H76^HYwjL>N(@W zcW>mo@$k$b0t5u<)UVD5AYh>tFlH-Hag-MEs|0;HuqabFbvr^Z!L}$SDnVqn#tO4k z_1MQnCF- z_qtFuQt|yCR@cXd;#`Mff_mDUz$p9CAx<|xvT+^b`r3>p*IZxI&s;)&XUzQ(_xptT zRHGuKT0@HWeH4kg;>{I26Y)^KwAmsqwNWoGtRAWAQFOJzr-%1$dmk{q+otCv7r6Lf zbp-EoR<(XXlM~|0S^_dG-Mz@au40IBA40*hHZj2~=nW|kh5SHjXS7Q$M74hv@7;UL z#Fh^(dVZd!#K@~_{O%RQbg@a6Tk6}fW9_Z5Upv-;&O4>XEG^4u<)?DSFVqL$?3^*< z@7nN1&hggku39}ePW$J;QFta-Y*q7?KrhN?6>r^nSuSyoQIhRA&bq*Jr8+kGSUxxB zU=d}0y!)?C>d}1fjEDOKNLEyAD=&eJs~7|6 zJT}9KU%9{$8XST8eLqrNpo?|4dDfE_Uo248Eq8q220JDzHYa66-tC!E&@$3nfC(5K@^T>5M zisK|ti(r&QujN^+4)ARqucm3bi1AauqsZ{wS^XO5P0wr`47?GUOiZu=Yh6ZDcYZFZ z^pZwJN`2G8iC3Ob;2FCNc-B`1M7)60@(p!vYvJVvWb8M++#Mqu#fqMzV}(WCtw8;< zd>3;Xc9FMkvl|R=dq&f0ipe5Yq_QbD?;0R#bc-d$>Ivn+aNDFJhfBe= z=0d2eDg#h5w9RZNqUD7K-Yn*~J#*U-C{Z`5^q-SIN^Tg*r@M11U?>ih~U5O3uQTr=?SVbPb_TQR?45N zP{gd#RPOvb;!zy{eRP6h}B^z8mzC045M0SlHZk-Tb6%mORxs%~cPo^{z2yJsUGzd`ghIPw@K)Z`7q~VvoV>5Ny<1^m1 zlQaEsP68f3OvRcGvoVq{Qpza_?)~$gdV$+0n_mH4f}4c(_G2pvltRs|ejXhgP_>E` zmh)i($mIvr8TLN5!YTf!sXbqluO!jZ0$&Z3<@ZOMYQ@qj*GWP@_T1ayKE-iZh3jH+ zA84(x$!Q7n>ricNDtV74eSPCP#Gbt{LL45yN$(M71@!s+wZk7bc-iz+BtyHPU)m+l zcH+OWMRlh_e~bh?F8;^0%AkNHh)bEd>&o4zO+wqL=OM5YK*VXQKFg;h`8^>UmTmd!tG@;JF$RA8`P0R9`!at}~-c@ih zbXa14W;}3H=re6K3~zqYdT1G6z8f)o0yggc(%o142-o|1$nyrgA`lTSJl;Jxl3(Oj zkiq>ZNMay5#e5`Qb)nyc_7F4{ z8ik_4O%md>G7|t{O@C~ykoQM;_n(iO3_}10F`H0u!@7ms#qkFTMJYT>fN^^+S4t`} z>^W*T#fp!ztwudp`3!GDr)z2-@-XyFwIQGI=~gl%g8mOnJ_d8=sYiSL0Ram@6*u}r zq`H~vPGCY>U0COD(Xb!nsZndQRQbSk3-a_ZhiG&hc2~kx?~+a;?rlNbwp@|+lBoD+ z*Q*PvE&6+-jUFkZjaDgo#`ysspkffQ1L~A+Nz-|nXaD3Y5JqHITCgjr?s?w%n1C0Q;^dB@q=i;V zg<-i>gcjsYMfR64y*%H&fP-IsOZm%w#JKWgX_ebAwxN!fS=HU$a9HU%nZeyj>zHx% z-I%bnB1I3jC@8Cg+arQpwbSr^!wjyk25!ANxGMb*?~-EZyvf&OuN&x@bT7LJ7voN6x#NdVrwlc1Qzl=Z#E%SLq^%R* z)s+9|#|zeGFyrO#s6@kcDbbc`W?K6y1IXc86agveVIpz<7Xm34l^Jer_8eukon!NN zkP+JV9DE@DvfkG(gyWOzL9EWpSH+PgkWrbF!3s86?AHRum-JHi({fUjlCiLi^w2uyL7+1{5I}`SIN56Q1puO3|+L9eRn_!J92&Sh%=Ju!&FLQ*w#fi zr$)m!HM|s#_LqBPX(`4|OyKBAWjtoU?U>DQwuDkvLO-U*i}`_GSSIt+Zd2BS2#jIn zr1jbMKC$4X@&FNj`JB}ZbVdqhj5xvq&1JkM|%vP)nJs`%0( zd32q>(YxlUG_|^wJf08^Bbfh)*Y`&mU+&i{To8=-%TazHT<-*yv`6!~RJe45NKhH6;`cuy|&pe-m^5l21GewukmuBVxSP#8iXLj>%ASIe*SS)#ZP!Xo^VT zlMPEpefcA-J#e!IhQ`2pecar9jrG=O;NsS=4!mb+NDl@ONUZObl8LnGd%VJO*0XvG zO?`z`sy|2HQC1@Z^kQN=K?GUO!rGKuT1fH(g!AJI53H}%;38A@6&cw@&rC$iVTi^@ z16naxmuzj)YoR_Hm6rIUV&(Udxhmj``dD9#>ex|eELqC8Dstc?sW5P&n!);j<48r< zXt_=Ge{n;=o>)Y%wAJ?UJ?{u?eu}1#j}p}|`ikP&1?lf#G16NWpkp9oQ_el5=S0!b z)!QMGxX4V3p~4ys%pV!l>?DXXX{a?x9U~_j5K7HPW(2_FX~x6R+H)ichdsq{0G>zR z$)}=bg&Gz#Ws;hMP2)dMcGJ~e%J@U{*~3%N;?5SeQ2X`{(x(kT8N+B}!c@z;es^i~ zHXpbIUZ0uB z79VFkcfX|KJ(9BrtW~B8b8EiJm}?yWTLn->@gMp6RE4y_h-zMg@iUgf_c$sE8)mck z4>n#tTdv%%Q~Hn-NWglFd6zRS{NRlLu`NvD=n1$I#Bt~%MU-@cDxJdVe0^v<_TOKa z{)nhG?+`&65HXGvzAiS36I2A`4ct+jNAIvwJ>GEfj*}qQi$OVXzxsMIXLCLLxWOj` zDBmR3*A9^%yFTU@ApNX3(;<5bjVozMR^mvC$d^wTbTM?8Q3_rDKrWL$NZi!KHfGBJ zRf|VMKOwRx2{?n~`=xa|!|rE1t=vEu$zN58`ulx}7&=@iJKGu2BlDmhvz!r`L`SE` zG+DRUzYHtJ$%?G5hhoFF!b7gko3*C5X|x!wFU{J~nyCtoeR#V@yZzrA_I4JN%j9Gci@u@+piGUxIW4IPOJ%fRGXrc_InWzg2e9R&6YY0nWRoT)*?l=#K zXY9u@V(~Vze?SrbRbGOvNSw#x6t+8^_)dg@(8B%dvIemhV4ZU4%~bYBdL{0@Fva)A zhq+>JZn`RiEpD+Dq8dHalxcQq|0|uLX+2!*cdi@i`!S``6u?rzsib;94wN8%Tr$vg z;Ffpiqm7BMzLE z@<36vW+gtpwHO!#=7+2Hn?fRGZ;qR^ew-RGvwzNc5qH91g-UwuaB&XR@RzGt{0ty# zt6k*&*1&y&jmY^_QS_dvRp0FaOP|MVNNksxmlHV*!;I;IndnHeTl%#NyI8X|o$eZj$zt4b&%06AJDUpM5WF5jL6k35y zpWXudmW^)5u$SYRI=QM=o;qcHR*~G~;=Mc3#0idh)9M0j%KN}gz(8-h z)@5dNmY|#i74VUTYrMbZPyq3$xK3m0y3;8(^Mhc34XD#{KM%qrhNJR?fgW?m+VA^K z2%+NZ4&G_V32K=b@12UHFHnui7Y}IX-)i{!KKgxm`iKXaCpBxwK%kw+z^O6>xAI}7 zo$3!56cB6{+Ia~AN7>@r!4Gqz&{lRcM5x;=s{3{Slz=(f0Lk+M#a}auaju} zMe3)r(2cZH{JYB4V7FWBQ72L6B2s7SQrAmy%!7JO;_W`~sXQAkR)>UJzY7Z3mxRv` zMen_j&-2yQyYTQ0UK>DgrNwIqIZ%7!3m-G*^khlTjYMic06HC{8ehJ6HpjRP?^InX ze8?~H1^@)J0$})}*XwZZ7@02TNIbL)4(C@c#<9|`-m((GTnQnQ4^rS8gf4Mp9rE^N z`Z=e+6P3myQY;r1Tlo(r?*Vz+;qfi;dnGZjpU5y^-7~)il%~g(AbMBWJ5!wyJ|)TT zkr~i0O2`mBfF??U64{9Bch<<0#hZ~(6mUogxIA`Gk-9N_?-K8IQVpN09RBMaMM}_- zi1!S^Q>6O|rXhRbGWS_|TxplvFz2Ma!y6s4DDy%La-8b!yUZSnkqk{~-4}Xhnkmzd z83=W|#A3CCI|Z29I{x8GkqQX8FQi35H^1hpuv?TUYpTh1Wwnw+Na<6g`7Tx<*b|6? z9^j9lKm}R2FeX?ZZHuX8-8=!i-UU^P+y&3m9PPUCqhhJ*{e=u(VmX~+$Ao~5nPTZCo&!YnoC~J&plhSo=Y=FtDt8t1`o!(<Q zRd-h1ZE9XWd(p7;h6(t=gUyTX0)GFmKB9HmcQKBX81{h~%JXSJ!IEF^monOPLCii| z=XuJ0iaeQem1Us8={Y#wQMX^b>ig_$#~y1cu&l> zEGl{5FXyOBCr`4D&)a?5m&vBF-?(I)Mk=GzWW8#lM6cM#V(;p;iLXc2Yo2Q@M}_}v zsW8x@Htv!A=hM|A1S?po@!s=Oq1TyK(A$TUX5CL%!YZ+FSpf?V|0`bl--xHsv z1#C{<0sfYsx6~G3-wy{v=^sKfk=F@`PpwHyzj&B^!biIOfAb0kNmSsaRo+8XxBe<$ z5ell=NR!~5JGcI-f;ynE1DX7Mjy!b%K2_laUeo#0i2xlbu>AM@4wEpTq^6S>AvaaT zua4jmp$P37wl*U__rRy%6AT=bymdJ{q^5(o-{zla7=fx+<9vL#{_6jqwzM>FLL$IW zydbPyUz-`>?&50OO*Dx7rtoOZ-Nf5<7KjRZd4v+5aS^8Ijd9jh78H#!lGTUh7#5kA z<@<%p?XuaAJ@7CmH2b-mnnm-kRR3T0F--DNmT}Wq=07)=K^qkY5k3i+oBTl=`e6W) zdG)PS_C%Q;|Azwu^P<_twGdI|94uG$>4+87iKO(>i%EN(=XAWmpt;9SPCyzkEFhY8clQ}Q@y~>zvU@>ffueV&3COO@K+fLQ zt|Cmkk;^khkEUvaAD~@%OpWzEsCo)>4J+zm5sNM8pWAxKtK#!CL+$SDMdP}a%l%-6l{JPx+J2yQhm#IW-4liV&dWY)n!v^2#cHqB zW{MsGV6a|*3S+{#E#;B5A&rM0Pf5B$J3Y;AaV6G1BIxTMy!SLhG*X5T*B$aE3uCM# z`{5eVYu}>}liK5f@jNz8bIcE*oMK_37*rV|Jf0-iUEjCIxruck<=IKkzHXLTm}^qX z>D0N;=1P$(-e8X^MY#yhLM~#m%(eBcfuA?65{GV>I%%pr7(5z$RhG0Mzhg58%4e6L zX!8b-W8W>22)Z;QYpC{H?QFs6$N#{^@1_n2#U@)d4vHh=>9LtU;>n`v9M0DJuL`C< zV6WLe>4|!OFBNWdZohPOQ5Qe)5J#y+yua{TgyM-7!%}7Ve$zPVL}?BBQeA~xduIzu zKfY}4*!mJ!N7Gp^Rfv76;dzhOPXz$fGuN#MCg;%HMRz^oyxV(F!A5TT%LPLxNT#1B z(y-R2(f%e@Jm-5QXiiuu&ymhM|5-nWhjk1qI zWJZ=dWp!@6P=|eXL7|h{Jv?FT7+>f`8ObVl`jisqwpEGr4BlXn%+B9OHM5g7s`f}x zu=2ReLi|_}Ws+>o?Nw%!x#e@rOBEuNDv@)eqz#J)i|nL>kDj1RF5w-X{gS2sbdWRx z{4M*PqguX^b@T7dk5LysN;8vS*JqXROdo4BH7fo%wf{VUNEqzsIMu$`P=2+fx zA=JVZU~NPv&mHR9Ov#x+aaLv^ha(pY!m!2N;e$Qe<0fU)%EIm2BH zR}K^-0ID)NJ=>4{Rk`Z60sYhD2a$OAK8im6Bd!KVKP3Y;^01g7*E}Kpz{^KJ%rubjTSNQ@i2p1O?0=L3$Yd5eU?f9-<`ohVyTM%~LW;qi9VLbZDPtCTZ^R~A93H*1=Q z%R3CwQE0hosP??vakTR{=cx-$gUhj}0sbmLD-f?`-uGJeNClZ!YnH<~56N3;OQegt z!M@wSnX@bG6cZ8f_9}ImM#zdG76nBHMN#&NmJCA%hKeZqq=^QD_ziSfqdb4ktO!z? zce8jed6Qb0Chry$MaGDMCMG>&kF+uMH3B~j-~E-^l@Mh@ZtQt-PEP+(*ajQyOI&mC zMz~vZ^XGuBKP(GSZHjqa9YXv97fKZ8*n*Mq?f`;@*-DV-8+cwP^NK(*{>({>arvTK zb+X_2r@LSlTm-@t;8zCYq>n4_r6Ra1;N74e35TH*Qyf!7YTg2jnLPrBwo1Al1xP*w zcT+yA7+0Trs7gQQfI!B4iTJcp-X7CKRDTpZ2-F~YM7e&1J`s>UzQ>uj>`5~k8jvuE z=8t0%f_#I?Qbs||V?IKZ2t0TKQ-uV@@$CR10wTduPfKis6+|gAQ}Exu(PC%ZsnlSY)%9fWALJZ69gJX`}!oydDpaKV^HY}fW%iI2_+I`eO-1WNCN zH)GLVFAdd|nQ1~z9eG{5Pk94m3VD34DS$pid2<**kV@PvhXiCy8b#Jvyk=#{yE(jv z`>A}*i6)2^xnl|^qnMvynUw}j4XStNf~L-WoF4rbNLmO?=-sV$iq9OkeQ!E(mQF57 zka63ly5irF^4EH9vc=~3V#eglurnHqFi^Qp=8&+V<3 zUiLvKz3tPbX4wYi@OH+;>w$U&Oj`0+Y`T~_JSc@tvW7P&yP4z@k)-nr+3xW3c)fV; ze@^E9o<+)gI9Kn6FPsLb#?g5I5(!{XNikPL>}XTOHAH^D$7$zl2L5;%v*aWe3eHp_ zScNy`FOhjYAW!c4+3bE5ct^^!%{c}5J_by?9zh#?qO}yY^Xb zBotv|$SW#_ShRKjCQ~$v^mFb)HPX(@-zm!;o{ zY^B}v@bpv1zFC<;4wOW=4d}xGcM1%)Eb;DKUHZWuN*y#>!f_ek&1YhB8+u%bCo2mI zs2XtYy{vX1*WC?DO8DDCrLo@Wv8TRt>2pcQ)a zc7E({n=TB|rpuY8%C>a#n_(p;>}}2pLG0##RyqIuzk2sj1@Yf5+_RXm-8I$?)8ppk zr*RBx*1#;M`s*56MLO@gE1Qj4+}??ZC!zq7sFS0dGL09y96$%-llBy2Gzp^7YG~{U z@Og#MdjnuR8mrAj_hehujJn%!pCd*Gtc_*p{=( zYH2jeDg+VFx&q%47$@75HD>n6+W^Z&a0;;}t^UCbUT?!&xAjz%JtVaHm6_>-i>N)PT5&v@u|6Usd9Mjj9e`-hL zg{fG5j}%%iY1dnnNu3p9NlpQsU*NA_LcL!N?Mxo#*gMz;+qC+4DXsQAz#NC&e1*m7t5a3RuQstx*R$1Jb_ZUk zSyQ7_!`lJdI{7n|{=lb5@IJG61n(^s_fd&TK*JW-q{tHa9uroluunj zoLUgDZB>3civb?-3*evihdIr0u^3KRo(O>m7M}~Y0?Bdo(AA(QlH--6%K%U=6-0>X zznU0~nh(5v&FwGkNu>8frb9X>QUjnst{ifE6qY|PIx}$5?)_Y%e)j89oJaGlfpNC? zb;bi!NzQ6ZH|zJ1vTxhcOHe0>gpL)m-fO`Nh7~Av`k!>7Gk$>n5~zs5--P9Cjv})0 z$p58=$9JHsRj3aRG=fd@B$nxl1Fh&UTQ8P(-Ro>^v|~2(2md^<{brrGr9UXEq(ZYAM4WmQYRYXU<>sh@mX#g{a@nxSf2c80pXIj^ z*L|sf;NeTW#hJb=qk zPWwE!zGTY;>x8$m_V+BkmZ{n~Vs#PL$sNs5!=5<+7p#uz(y8S)s!B)#HS{|n;vY9#((s*{*IJ47nNS5murl8PNHC# zCT4mpsnfpRiGJ=hHo5(lW6@`*Ey1QGjI@xOyzILpkENGhsk$1HKqzyA`+>v;g{`ge zXg}0D)0ZfTn!so+Z&*OqCb5)Pr2fmWe|tRll9qs)COc4UY-+Wrl;EN8YJv7=$SfQ%S9erf8wSmUc>E}tV~aHps)zNubtX9tK>Q9 z3f=SsyG_8s@H+ul4?G7iH|?ce0;qz59M?P!O8u6S)yVq3i1gLuAcwbH-lNwVc8fYY z_NsH|5oDLJajZ*0mzC7iiwT=d)bluTy|1r^E>|jCpj^8o@a-o<0{-Nj=>o08hY@U6 zy%{sLdKJQR@{G;lj4s6g_M-pYdw?a#a9G+Z-6cN03!K6%r$;%>qem&O^{`Wld^V68 zUAzzZnoG%+Q7)SQE>=wLpw1M+p5qZzP&{2~hEn4zAO6_SS@$uws}j0#_RCs4&&2P6 zZu}34$IJy0=HcU?EGbxGpuZy$>3ebluMyR;>cf8f( ze@yil-t6oSA69nCVXyJ#-WTGQI@UXzg%5tqZkeB?@NHZ!o5idKoz}>H4oD!|2_!-8 zju$`FBoqxMj|{Xf=!PI{I~4Lk;X0Gqg6H)^-3p7?f#Ecl;?I%6WHS(AABCj{53#>33LIx1g0LLxa#V_pXU@TP!;SVsr=Z!zaex6K zf3x0L9(RAC&Mm`$S|5^NG%7ZHnu*4)@ni*vt%@TC+w>eKb7z;IojQY%J)0}En7~IU z_GQzq@NaM5HIO4>xVeD;z0B>A+?Fkb%Fkect1)TetD5@GCJnJy?~;HD{wS!f45gHA zqRw>>X?)iJVBnjTeC{Ii3sDJhbrUIIs z9#zu&tx%PF(AlrAO{2;_n`3=sU0yh}%{TwE-5EcPM?B4RWrO~{JA8%o@UAN5FW$j$|2LZN3Z_^fqEsPfzXadIeq?Y6|zO z`GDg5>n_XZ(>H)|30O@CHISKF;Y>?}(7YA=nRcLl1P4Y_4pz2+tWm2RE_K6E0bbH1?9o@ss19w#VaBn)W zb37R@lOc!MAFRpzr8zu*_BXXXz9I{kvz_-1E%fdrHP=P;N6KZ57NO*w%~882YsP}X zFNH2btfX*JIBubuhtV-wIJ5Rcj<+n4j0@ynt4=nWz`EDU=s$+1fAH4OH+tkHyJqnr(X|{?<9M z-}qu!6_%be18Yr0uwg0)Vh)joR5Hvp;6*J)TaUw^t?J;kVe-?XsGT!1`@dXb(l_gr zPL*hMdty9=rkm$qqw+h@qgsmx1Xj!1q5nc`1H4f#KeqdQaal^v@VLGqv0eI+r~5u- zvc#Vh4IkPh)f_Ie8P!$LY;Nhdr+pMCkrDGIMhrz6b4*Vvn-1H+dy}t_F}h0sU=SyY zsivOS{E>J&mr4Y<9zfwk$-s3QWD`O~)%5Z(Cwi;K{0y`SYrnbRQQu8cf=|1j6>orQ z!i^Us#i;<{VL8vC)>X5)F=fAM2Axt}Zb^C?hi&TT4#plP-dw5oWBNIl0~%$C9$=UC6IoH)7h&G^*h3mOutP*zk99jMswC=Rp0(=FY)!cuy2F7O&YK40@out?SfGWHyBJC%6z2!3f3=fdU zTZE9!sL}0*XB_A8Ra9AOHr|l}G5h~E7q4?DU!qr#Oe(m-^S&lN%u5e$PBe#KHXdx7 zoyf)I>nG&9XHBs2eCIU&`Q~>@RW>Qgcv=vwMeb^p&7FON|QOSk}xl-u-e$cd!$i|6UmIcV`C$DSMC zot1wBtt-%gbs0H#Dw>F=3o}ImSifZ^d2R)D?T9laXRl~F8{YD)%yDgY%d@iDRBXR? z3LAQ7#a)RxqVk;wWG;OrKh{G$!~jygEu9{PmE<8gmI;^9*)!mcpK#>U%XMwca}#+} z0Wbo}*K~{H=6udr915rbik(7x}tN!)s){`wRAHiU~Zmv;ne|4E0{k)o?^A z2X?VQ;XVxijF-LM7p>xTM``HtOZM*~!g_>sIiCLidSKR6uw7#KQr`<2i`fng^ww|?UvnDY3`vppOjCk4 zoa?#sc^zz$lug@MiUYzT>p1Q5&;nHP0?Pc zR<#f6-^h30fntiG(7g2T9=0s0J$7Zc%}@AdquzDCJsWqb!O-ptMI`Hhf}N1H@2iSc$FA>do10zAsp~wi zFk?(DO?DurgpH5Mn&$sB{jTc#hpiDZ=_FF5iG5efMQgkPhSz#{!67!N=d-PI=pOO0 z+J~8{&0QxEkXUi7+6>u^U23S`I@*pnVT*0irZ^4CY9;oM>b=cQkUjQv_WvW?>%?TBE*`!N9h;qq?T+(e5> zh{67pzIN)*s3`)VVzbemLZ)*ZV>F97UlD?Jfqu~?Khy0^$(SBU1||>5U@lsd*W>-- z&e=$A$b($O8LXdGWeZp*4#RyXHkubVog_q^>XuRC6Y30##0%bsb%&WSG`xN0a1vkW zuyolR2Jv9Q+VC1lJ3tzmuYkoGihFNJl zYX&ngr}VC6S{d-4#T2uawPsUk#cbod)>I^4CsQ->@jILnNtH z!4mrn2^VI7Zc!6{@bO%J-BjE=*(p)S3q;@8Eq8V+2^BFOk}B#a^8z zCdkk^TA`k{p?*O{#rV(u2>=g7IEaB)1;x@G|3we(b)8c+Q`zQv8HEX(=y6Wuk6RI_ z85=cgj3@ADk&xR_ppaylY zyY!!v)5}<(F>hn!F{h(|Sev=ucy{$k!FKd zY-?d}35+-xNRRI9)&&Ev-jg(D0w@jS!tUDS;e<=v@|5%QESFXQ5%~HCS^ne{2jBzS zUm83lo4zJVg{lC}Jl&%GX*P?kKcVkufms*4jv^edMNURtD1p}D{h|_Wi#L&2525tf z;m}`bi=o1YQQnzn^nePxZqE6~W_Abw1?}bbwCycHOO-4dXsqm=@-`Cdb2zB(@IcDt zj5q=zlLD9>lKg(wBA0Y`AKo9-$O28{fxpeZnA)x=_*K-dJ2WY*h{L-T4dOWnPkUbFA6& zvTIei3_uv~k)EU_#Wa5qt|QeRP0o-qYVajB0l^&blHIA z!~q-(?$vS@)2s>c@e;SQ2G5&hr2*+!!k^p3N0%&*cgY+5%hS`+erIaxZ0mAaRgGDZ zr{JM&%ap1KJ9{T1kNDim6r3oh$ccgwSMj0Qz%U#+~)({ z!3Z3)ADqf@c4*(RwLaBm5TYPB1!)_s_suZom}G%%Xx&e9MA-%uX$jqV zwE>WxaDx%;Z8K|dA!Z;`ODTZd)U_}k;#(qC`tRc7fBP4h3lC^5u><`+=gxGv|8GRA z4ZsZn_=rdnUOBPwvLVOB$Rp==)tDYG7|<7njlBw=|1%=U1!zAIx4=M-0rY3n_b9YP zhwGPkfIMc)ah~i}4P{UbKe!ya%IcnwOB^ZH z?S1UL<|73)e&oyo@Pt$U#y9}(Uu#*_PSkI8%==fqX;ha&U<9& za2916pWJk4Ka=jmP`ZO4JVbu@<+_zYCm^A+S%t+uKV*J;k6Z;0m~4|bIa_?r{Z3QB z^>SLh6TvF5Lww!10(ulp0x)0fjtMY~gUshJh&KrVVj^kw0j8Yr@~gW~mX>jK%b>;8 zM0#{{*U!JZr}$S-xj9L`PoDNnQimodXc!nSWv-2^^hX47OIaCpCHo6)3nSYj*$j91 z!Rn`(D7AZC3C&?xfs%P4*~`@Glr-uJ9KPI?Tzcr%S$_xnnd=HK zz|V?f2lReqdP69s!Q#hG16}7Wj_+Rq6E_loSp@$Vhk_7X`IosOL{TROE6TG1)R=#7 z8W549Hv?q8Z_<~%xGHa#{mJUJ#{*8u*!2wQ5ac8z(HyvUa?Tg9+}|325bK$6mJa}| z1w67Y5`6si9YCHf^hMEo+XxNW4_5F47s9KNsE^&U-X)16sjI^PDL6{faPxD z+;=F9_sE!HA}avilN&*Ngt^kZeqX9BS1L;P2s<}ps{y{b0%_pLO zM7K}09~I+Bt~n0XEQ0zJbJe4A!*d=T`_4F!g@4(f;|64qtY!Iue7D7jq(ES9RMqv= zbdKx9<>a>wA(}hgF_7zIcUUKW@G`(A69(gR8mAm|yNhi+3pmm|bSLb+oUfVU`voZQ zH42BHc)`}g`I{iU2w5UB({A1(E}bmWfLHAf>6-VfH-FG2yjhF_P|C=$pkE`!N~pk? zLyLU{K(ii~uL*PQHid;vhU1%uw7*J*Ks#BzCzkp|N4FGq1!ED#zI0cz%|Z3 z+%wjAVJNl^W>Y`uM#y>J)<0iEuu(4_Mw6hL5l90<`(%kZ-b5JeD*NPfW$;-hFs>u+ zyTvp0jOeB-lf;FUPm2<_SkyI%bG1(QAFtgc67ev}Hv{UX@yh{cy&J<>Wfs5z@B*g- zG&12|KAy5B7hTn(nX|$@bps8G0R7?`He`oBF;}kr!)fwi>p*(kjXYs^z-tcw^jm0z z*F+EJjCehqW?8MKsn-1%GJ2?dPD=b)fi7U`nFRK|E*o$v9&k}cVmt&2#_~RjHvV@2 zC{JtWwP1s^PM)!?JHvS{H@`~_n;7TY>jnLo7j1*LJU*E{oXIdFjas`#t^Fxx;KUsh zN)Qt&0|6=Kv_wj+W70cFq=pK^6*xjZnz?EOU32O;^`rAH$v^#0b=d76`wwyJgabl1 z3O`IqDars?;iuj0&-oU9Kss$PTPnwphe?$o!P9~!uO|IWiePS!AZf|v3!OCU1Ks`` zZ{eUtSHfRHBu4#v2{XE}21*YkINdrvi!c4Mx>t(%w0C%*-E;Wp;2!RD5&1O11aE90 z3x!E;I!|#*LI|OB_8 z^}{ND=mB%N6fU&6H8QPX2KM-HZfgHBV>Q@*h?PeByN5W1)~LNq(-5=BfGp>G`|spn z;l06UJ8|RcM!WzVNxsXTd4t&l3{V5+&;do^%jC@zB8U?D0(}}Q{3_EmRTf#M$j@ZP z>lsRTDrTpoRhXxudR-6)5J+8g$XFT|C+*UJX@_iof5DX#PtZ<2FEet(FW$f) zk7N*RHPp#yTW|_xy)?C@mL!ur=rD$g{^z+b{e-p^5X5ESJJxVq&c?(*3bmD6Vb4|vd=1q?E>SR~7W191F z6BS4{PHl*p2%NXMY+lZ}A@rGo5Mv2(G&hVR4it&2O{J>Q-ao)huexcT&>M5hQ&D6j z7+_Cb)y=jnApp)Q(+{(U0L*aLeN>7^X!=B5(0QQjsU(u)+DHDJoWv`R^f`LF*nY$B zqN9O=#L8wDDd9$-r<~WX9dJYX+oHsE($JnGq_N+l#BI9sXl~o+%vL%9Upj$b8pL(D zHhK?92LvdbWJhJ|Uk_0?mcX;B7eC5omXyjqtt+m6g^N9=Q#3&Ra@v`J8HD9DnP*~4 z4HVKVhsw?djk(s$B8&0ONxIhnMCHcn;~xB8rXR1c4&}gnKknvPmg#Mid4Q1)m?Omyl^NofG=K(*fp3wqTpWndg`cX~QBVS9& zxylxyD%=S(-zUu>%F!5jX5UJ~UFVEexbITO-!1`tiiv{~@}=~j$$I>J;)wV^oyPyVmJh(?2?bx_-g-yT34s1|mSdd;>23OjQpVN#Vb4FgpjZk)IOwTDL2TaY&s*c+3&^ zP80wx3`5JWb*P9lu6^p77}v8O?8*>)Vq$IJJ$`A%>EGAy8HQym&51bSTV?dc3mmR6gdyiXFeZD)1j zTYV@xTr4G@3zGl*g2^*E46RnVC;M_dqT_}dQ3M|MEjW+ei0&hlh|D7nw@>wAdd%|(`mH|$SzM}*g%9`L}8UI))faG?db5yLex zp*xb^-@sLiNJPZr2fYztz^2r@<`zDou66DbJ}LQfZ3Z?G4+(Fr$ZKc`E*f^LrI`tK zKs9WdEyrEnPhtBxwT~s_k|ueF3QxZi%?I~>aY4*3{E+?d{(8{k252?*>f~$`5e8vQ z_cdk^HCgv5{S1p(G)by~e}!pez^+$Ic=xo-*Yhxz^4+TdE=TBlKj*rGUftCdVSoCD zqy_>Er7B*5Ca0RC@}~yV=M{-7C&C#x`u*?v$Op+o?P2|$?eWxqc>CwC8d5J#=lbNo z20cKt(k+VPY=S*WwogO&V%rl&X?**&UnW&`PXLE`5p1 z0b<+b-7T}tya}0Og8P%zPJIizl~0e@4?`_N6}(-{>arH6_S)v5d?ba%#E2)ix|&h4 z8aCE$T__c(J2ZdDF8xu_>?~0m)lz|cN|9LfJYsxBtLP*5sW7`l%ZK>V{#R$C1y`SD z-8<>5eB+(cGm0MkQ|h9RcmdvSecQ7Uka>P2war@~gWb*GCWYkx6bqaMu{>~~;h&^A ztsUeN?7XI6Rz2CLGcERO4vKCb*R3?kYI({Ua0F$2R?iAMdmMo>I*c5%MQ4-+Sssa( zQ8IYv{mgno)!YABZQkf>=EB2-g_FpB3S`!Ky2C=`l=Aal3m*1&ENRjUPvz0Ate!^D zFilEJKpqgVL-W2KZDYtB8Y|)p=IVoh$ra-q6)a6y;Mc4GFErTDda0p{2Kx~62P$3l?CUq9(>jcx4N=In$gllZ%lVDgj!#xy)ogv<3EWe5S9ttah;Z$^)Te`J- zpW0?CO4hlLW>UIUu4Q1JJ$uCURt}2(Uc9r8@t27E6@gom^%tmNiaA-$(k=OZ1q>qHuV~>ufU`=wAGab!U5b_kM zcR)jwGb!GW^S~}KiIeMaVVDg~Rr?FJmCd(PS;JOd-)5>$5oGRY zITn_BF_9yGmz~#)T-EoLI@AZ>Oz5nysbl%uICU0eq7d*(m`wKEJ_$jrF@+JXaO0qr z5pglbFRko)N4IttYHuZ5C$JpBC2OGu(>|^;N|!w`)m)#;Ui9KU92#Jb<1fM$X7}m| zz*ydLJ$`J;?cX(rKgivqKAQ`dTo>v80kWsx?uy!Q6MY0c{Vrnrtw~3I2qeb)&V)D$ z-q)?ldG zZJOYuU@7G;h6f7y-bK8iJ;0>$3^6q;n3b$6Km95k_Unm@#%H&n@0>oVZtKpZcF_J_ zso{KgY;eBDO$ir2fW2$h%Alg0gKy|KH&65*zW+7Wo5X*|MxUOyrogAnvu-d~WtMY9 z@+o`E7y`7O(yNlj(1s%Ui9~*TTQAcoVS~hSEM3J}9&48KqehF-RG$$$d^xm+BkH3o z_?teTX_F+*!}cD!wT4l@Anu`jpgOmJzAP{_ z_*M*S5BFF~U&cS0)~q3;oH_1%1WzAuM8lK$2+YRJ!3yI)o43^{GpGX9DY1XJYXO|x z^oqa|9$KG#_($^^PY-PWvZG9%KmWW1u!Liz`osV1FiZgBKD>x2>l#|bKdoz7LSTsV zc(`0w=Jy}w^*2p0Bx_OT+yBce`db(Fe>9_Le#V=!7JuoY{JXO!F$C)6FomU1{@GzD zBcef~&{LNCb77xoM&PVj9B$qHpgm-`l#gLU1 zxiIhCPZ!xA4ScfD9U|4nJf-ita1HU7k>MQ?oln=&lJCE?Li69+pv`NxiHXhgiEhY! zdLz72X5Q-dP;nm#a*6mCVV$@x6v3)?RfN(gaK~ko6w7W=*v8LkjhrpLqa)ZGu&M`ue+zyQvFNoO6vs_uo6@7|3?O+}Qw zH(0;@8w6P9V2_~`Kd)TQrLni)P#3SgGDp$;1D;z)_Ujow_X;;DkWjMUa68DQINO8} zqT#&lYHh^1u!Yws%R$3okz-+e$DKY$f?Silcgn-jfdi?pMK^u9q_)W1hi&1uX@}cg z))%)h0T_E^`U!H`X$eG4TFbPYJ2xaB3ge0|`xC{Q; zZc2=hz^^=|Xm#4gJ+#-9^CZ6FO3Mc4_-z(%Z0@{U!?{lm{>LPq zKop3_HMX0!g@$>hkbVA)`prPufx$*Q?UrusPEXC15%#581|q8GJnT`o7pirp!dDn6 zN-Q*^RCmzK`Q{1*@FGGx%#9)y)t9x3z}eSiO`f!^JGkJy^6KX@jZEYApD2`&6+P*; z_E(%gEmdzccAk*hc=eNTm*gDS?A^cuS+f_oA+}4N~;1(Y?$~n#pt_4Ey-e=d5&d z+9^bZc$9q`@O!}Byi0p&SLsOugMTErnwT=sp9YP4pUxX6lPJB zCq6>fds?iqJB0~l)ySk`leW}%bVHC(WJwmNT4lx2)RB-qvDQ`Y3U!h*Ys{4@eS-#H zfd~>37;bb~NgFSir}RlI2**ro{VqPU&vedD{uom$i`rs%R&E2ma`E47=&h3s6DPv9 zdL8B4t9}Nw4BK#M8?eKI?nZl~%ejvBlb$DQ<}G?XRDAx)+?<-YF zPl+zC`JSt;pU*?~=c#K41zNv9y|4??YT+UY1=x6B!_Jf0TTenK$&TF&9DaNh1nr}E zg)7MK0fX)x0kG}vTO5PZZf_-^eJd&qGw6bXA};gkQ4}z3z}&(B?F5dI=u zL*vRP7!hcNDHusfoI|?{hEicg$Jhna22vVsRs`rtUg7jA;@&PcN1kYFp@)LmWx08A zK0lv{_YHBr_?#?esx3H&!z&;6wQD{P`bwR%B^v+<_`T0>RP=NxWe^k|Vh71%oM9ej z4L)z$%GU+zhx?7K!{pcpRQWYhOpyH(A+@L+$mdCJJBRtHe`M{pfpSSR@wRP ziCl>0SD&3OlCb+3<0q5?)K%Uwhzu^TZ0-#g>qszNV$zKDZ%qpG_+ODJ%0EVf%{S6q zFxzz=ETC(`!`)y-XdRNueHDb6A}|knuCavL70je z_GE=K0)wnwScIx<-=II`eQin{lyialQ}moxza+Ro{8j3Edw-dy848fen%$&zY-~D) zK9VRWu2%-T1-BPN2@0XBujsjPecosuH9Kma$3$_mEqdW2KX{@Aoo75(iwbc24I4T7C%?>*F#p@8@f@mqUduf#tFNPag|<}mGDJ8GlHV0CnNe+#TlTiENhHAu4WYR?fla1+PrYaVT5TuHjgvjSM9z{% zj^1K^R+=woIqz8p5l}ZW*FV8_zIXs@f4Yn>a(t(!SF<71(R4q^m253&EC2C6P8j4| zY=2;rYi=ktF)Ul-7cn?rS*u+2pC1x>mq>{UHJ*%CYYPX{TjwL^@095aP;s(}Y{Kv8Wll}ico6-O8 zI@W)Sy8QFSf1K(6U_bxGasF?(6L|Z7kTd=NYj|=&X)5IkL!Qu0GqMR&pRF|Pb}7Nr zGK>c<_5E28e4#o5F(?{92gtXZrZ?3pj%>^_<#K9N^nlnz0vjUK_lp%ZrY@OE+RG){ zyhfE&&iK%;OYs+|YgzC*H7UruQz=ceN{PYMc2JlJT!WAW4^)EzZo~eTEOgpcEMr=6 zsTT!s6;u&@p@6hd1xO2-I?3dHvOzEktkd(=u&znXG?Qu7yjq{4*d2Y_yNBE2Otbw- zu@?b~SL}jx*pnu8{f6(S6oYG_&E9L7n@~coJu_|*KH~ct^Za2xpJCEQ8!uYcy*rU5 zeweV#+I;lT!7R`)U}z7Kll5~xwX7<_fGpL(fL?e9QMt^{fo)NagF+3fNCf~uRN4IN z{7>UO*}kWx0<*=D-&0|$OGAeh3BbXo`GtNMNcZXDB4E)zP|57o0eMRTc8eG9FZ`FE zm)ThpD8*rwCR)UAU#?T@;9RbtqWM2D*{U%bgjaXLJa_H{eSL1}1x)d!6A{`XTxuS6 zCSzRxcIrt6tIO5n0iT~IJ%iw`#_bm0VJf`JA^OtgCA*j^-y@D;uH-=yOp1$5i2PcN z^pmkN(2sbZjqUQ)(A`@WxxU>w%~ms<2Fl5pIvs$HkbAksTfWh6hhvcoF`(I7CE4ZX z(8kf}di|b6dw#NG4yJC1Q+(E<7dkwS1)fk0> zzSw^K(t9Vj-aWwj83}%%JnZqe{7-zj67#Z&TU0nTSUp_oX{!dGOlP&`2&ZC^A%^n)};!j^45gYKc9T; z%KMKW5Fd-;(n~YhjJ|UA*~i7ZqXEYTF0lu|2U-tGgh_RmGYKFZYH8&V7%&8Z`#}-mey2-6A5it`IUzntp9@hptBuIl~ zj_-$P+2ri5kma3II2ZWqJNvo=xTDZZN_+Bq^XtS(N7jy+ZgWMmjfol!Q?K31-L{AU zN7gkI*0os71|to!n**FfduiLf zdYjK`NL09kpUNMGzI znvfGOD-X+i#$~}dVE%I#pLIG@6z%o{EN#J6&FY6la*W&Puw&^&1BsJgIU`jxQJgn^dPPlo)97#3rwS9JJ!(i81haViFMepb?EH1PxNtzd-Lt}>b;s9sdT?I6fd_MQr?}< zKJsPCf@EGgq}XAnCv(2{Xa#yG#h7+5yVp&K7}NH+XGP!5+=GKsfS%Y2$L~9})k@R>8mAbMzAA$yN3!Fo*oS~~Ka%eP+#fgS zszIW=g2T)na;HO-NB6=;9yQ1KUgkROh!O)hIg$N=SH3|~9ToFrJx}K6dI-g(uWtdz ztp${0yrf%@2jFa|<14(DDooFnBoGPurd0 z_wgl5@bb7i>1jpyXx$}-3>y4)4}9FP z0M>Sh`_MyO3vPTaK<>}Jq@|%>q03^YidYO`NQbu%bnzLRD0L7@b2V@C>_tmlbj#@+ z&e^Eui%BQxaFE)OKS22ks1JlKH_xN+22kSoi`7V|i?zf%*|{XZBFc>qcVunm5h6`$ zr)|WC0luIvv%Z#<{s$pIq7=Hcf3K3lw?kMD9j&q9;t*rg2T;Rdi$fdcIhSS69A(Dp zte$#{HamJjzU2JZ3V_ZyZ3(h8aVA&szyF~J@$4W{^{Lt+(IA1hw@E?W9v@*JeYycS zUsbNQF(Iyn@#iZrlI|9fcnzdWPY_VYwy zx|=ln=V<&sKx`>Eb-E@0Ejs$wv1tM}@bhg8TR4CH`rksz!3iLA?bfBr@uz;$L>gT& zk#3l~{$W5M8q)~0aEE-ncG^0rNuiGXm|2QN(PB5hX=q&v| zvn$%J0MlE2JO4Iyf9-4gyMbtYcmmtXHI)+nDF9f+z*={7an+Z zv9RJPI~3PqzZ#*_1DvMCZncOcHV3nY_ADx#2>GOqpY{+h;)Ewj97OW2LhYXog(+~3 zbVUn-y7hYt5@1zPa~^U`bQ>U&^S6WNBgAYRo%8efd^z0Df_}cCBl^D4=NQhgpn;2+ z%1O!bT0DVqh$+Lq@ryBB$d;UbXKd&9*#AjMmcWcyr;Y=>t;BV*=y&0dj1hXCpqd97 z@qMELq|yc&U>9-5U)>5+nk{vZa25IGBAPj3i;SqbUIToSGg3u=)A7;62aCR+HpnmqP^2r~ijS@wjR>6@^~!-{Z{tIUNfRCp(J>FCLL7P!jCr+TE(vtq>C zDCmxjc5L-_+T!2N=Xym-n_{C;=B(;dSOB*#m+qTf^pd z`Ffwt_a@IGDr3=;bCdaCg`=>Llvi`YB0df{9-<_OTCHM~YGRFHziG)@ zneXQFUT3@BS0ze38z$VMyG_Lb`?{&V0$4ht^w!tytvuQV`{28m242K*^=H^t1% zYArhvG%2THFGz`so7;OPQ7#odUztH|->GhRu=(gV$4%>VMF|n+y}?(@Uvc)$Ua6}} z8Vw_m9h4bc_=3bY@KTx1j?!+Bpz~d_&~Vrt@KTBB6*AS_%L;DA(8O8ChQ_4$cxMYh zozqYf(8MY&7gQN#OAg&1r*g{V-An5ygn316Wirag1d*?kbcx{%!%qZI9oItIpw>ev z-Z~tD@a7`fX>nmb?Aj5wAXaMkuZ<6|1nt5>er^K;mZw?5PqZ0J#$KWpVG3J~#|ern zrd@R>)=KMQlan(jRL=dgD-l$Qo&jhjT?VR*48rlU&~T5gyhJ$s`_q%iBm_iRcJoOI zQ|;R=9RCpl`y5T@!tw0m@S<{9%RH^l%Fhf42#^dR&Y6KbS^2Q4;wXBO!2b|`eQF`H zto+WY>Un&wzcBv)%yk{ipzoU0D&i}ldA z7~ZtZcu2PMg($6p|LcQLu+1yNRb^{@Nl>VS`_{bUtg4PEZ(G2E-2xfewdyN{B`VRVrYwNa&U)RV7%>2`VC z^j&<%ew5M*3M|(Mnce0a_|#8GzL1t(dk>$CwEy5+4hz+YvH7ipZt`(*+?x7?y)E@d z)3Pnt+1m2?rH@h{VowljJx@*sb3%ru2&I*1yeKN{@)zp!HIG!FQ^%xnA zr3^k~Uvtj-&7w7aB^)}Qelk?I_TkE!RiABqlr)*}#ZalHr#9?mdzIDlk4uM^_ce#p zVZp~!+6zN1Z`7rp@mJ^^t?~DiUpiI^P^_NypT`(lTp~UV?SI2BUXWQamYKaqpCb9+ z#XcSJF4Uv;F{n=wy%#E8KV7T5w`Bmb_+waok8&Ij3vlI5Dss$97I{%fSr-(J;_F7j z=4*W5ORASp*EeXsK}uCUWi8&?Q`Fuu3wHU`G8@;oHoWHful1g}%wKNbhcJdUKZFV#!)aPNFlwtsZ)yj2X`G}d8S?&)^S zVt74!azfo`?}wT3p3(ef7$b7fFmpkRTR|aw!}DpF08bGeIDxP-t&s$Bvb9|^@1KVDBHIJEN=c>5;Uz9!9@{CkBX)ArucEFW!c54JGfw787?l9>&g+Zss*wG+B_6q7A9gRMI5QMQvuVe@S47jzOBn7&_MymPBMHxN@Wx)a#LNQb1ppa3 zE8pL`Zh-)HQbvq>MB4 z^DgZ4%d)8J_ZMDpO{<%HOXcN-;;?P}`Jio=o)7a|Q(f5`{ycaxa!3<#sq9CoP2ax_ zBW7etZFq1i_-!O^T<@d;Z3?n2p8}yblXI?3D&M$lwqWeXMjKM3VMbmsb!{>L)~i{e zS4PYbY+&=M_kYQ!{+F~yV*2}iM5#aX_s%xZ0LK9!;c5ozrLBUg%zma_u-H_RPwR}*T$UUUeW{2agk)uPbePs`GPH^SVVV)##n%WaKoJhlCP3I%nlkQXbjK@$dEW@bvWI7y3MW6)x@A48>b2>z_S0V z&iv~cy?olQu8eGh@i~V;ff*230Nb}-;xTHgGxgN-gLUzV`*T0BuAcs(nI~zxt?v8b z`XL6UajWv9KQ?1jh>qX2zD6eiCD~U@Wk(gs6^OP$9c(aze-H-~EVM=+s5kVz#YyN~ z!;e^|0Ev8TdNw3|haY4PW_9Kwj6xWurzY_Kjlt=q!2^f0Sz>n#If~D%e-Ex);tNWv zsh!?)$93U>m)(ETM>Lbafx)pcakbky9So)o8|GKDJ$f}Rj#(AE^1C8aFaF#L5!&1E z4@=q%(+OFRt8!6M;?W2|nW(ReuM*;asNY}s)g$v{{Lkab3~Aki;;3m{N%Tq=O=LF; z78VjoaUOBd*N00F#)g>undkqvTIoEq1+9#aeK;_|lQH%GhUPau`tjEHk8lO|Kdm(A zgZg}~n>3?Y{t|O{T+-BHq6p_zBX7|B%#|+-A0Gawko|+SWahWJeG*KGtEm*xD3EKy zdw@kxk3?~f`y$<{QyuG%J&107nj@G(B(m@@ZbQxh?*scnO7gq$%|-^(?DQo{q`v(7 zkx7ya(HhZAJBu@+{gyAA(NMT}1vuu~9ww3vM1XX^(RxFtkk47Mch+?CEu9bEgZgj?mAjR7~c|WOI8S%K7S@BK)hVVdIUoeFfY5rU6X-Br%K?3}7#IXVF zT|uV(60L&(#V?M&pN?|iv|TDY&1lGkPpW|wug&*2Q)=k#uC-pcq>akwMP5E=D1Y#Z zOj@2xmu3ffVZry7$Ht0wRtWi+>@0?BFe_Zu@655=MIc!2cCY6{EX7)R@0*v zYdjU`YBCd>>iT^pk_ZwE*>iRA?w)U!i$^552KV}!K_}byuCEM0^8?MxIEG;F%-nLj zyN4iXnm1+*9VL(D_ln%_A9303%w!gy?;VP0Q3QLZ@5Bas&Je>tA=f+l`a^SzVS${t zqe`T`?ieMl%7Pj1ggGtX^4_Tw6Y(t#2ZU~3t;_c7`IZ5GO~V!?4~Ru%R7LVH4%z}X zNO?i%H?>$+TW8gQ{za!?S9^UBa2fgaLBR#L#|_@v*kjm9UfzvO?<$+PJaUKhXy8ON zWrH#*>bot-%8M|}{Cdw_zUQ0TN6r+2(UfQrhZVP{$^j4Zx)Zl3OB8%vie}># z_tbQ6j@2(y58)ft;jr76cJ1nF@f{gD7IbE~VsXY=>oK~sOjt4~I^C89G}oh-u~FPn zs6X1Z*rKvrn?zrfAprgnnA*Zs5thT#zsK5O87H8QBqZS6Vz2wr2lirbG0_W@EnuFl z)0cB$Yq1{dmf+OL?i7H|mgnA2r0V{)K6qEeclQ^UQ>C-nr!PlU zs?NhVn5P;AtUn#SMfR0=t1b@p*vY(g-T8@88^32&}MMa|&4Fmesq~s5N zu88qFuyi1a?b@-bkBHkLDOE-W@2Z%%3p8m{@;@FN*L zV|s^)DiV^_lH4SnPg)R;f)=MwwdFrLUYG@7a+X_#m?qx5N^=h{jdPEq(kKj=hdl)6 z$nAMwT}E}h3&&`x=M+Uh+(UafZupIQrzd!s)TqzZifwQ>KhTF@rcsNQB*kT?Hqrab zLPk!?kgu5xlV(4_MzPFHF^zo#&hu{ws@AqkymRbZ#X4B47F*TQ^O4;1bA)`S*dJ>I=XKF_78{-!)CKb(1^ENj)4B>pqGVJ z%2$lySV0zhR?9TI_>aeKE2*=MX$y8o4g5W@hI!$V1v`5^$4xoY?fDswKyniFl8;(G zg?UUH$AY19-=bEcc`y5I;$OG4p~tt_WECO`T*>L$1IDASso0GS$2w&SKxwT*^V=TB z9x7@7JlKA><{l4{^+nJNQ&$f(tGS_r+)u~UmeBx*k(%XjLlxC<+-UV$E+q@9mPC5>{hxCq@Zvu>gsiUTgvrsqkY60+Sg&D@qv4rEg$b1=Gj zcWcXYPHI}r%^SXpgU)%gYtwx;U{m!Xe6(B!U4AJ}&Xql(oh6qvNs2rpBDe_nL%k_C zg=*i|9juHOM(GlbgqscxKjuU%)f8AXlJN2Sv~I@iANvPubVCg95sepz)rQ5zdGNSi zbjz!~)N{w3zUGjYSj9r?sCvC*m^l7IHx>(J9~TKj@j1mF#_D!<&cpEdLvP=&v%mPK z;MwC5HMcwW^1`88N&UboNOT5lCYD_HQ3WwW&V1V`8iq$FL{v5#VfDg@=Cf>&bEN}& zSEJ+eDFto_K`fF-_}G~P;Fay{+m|LOb_GEE4_KmA-_d~hxuVi z7bl_qk`c@Q4vBq7gAb1RfH)ejs%tZI0hcPhyY!T7GN56C8UERz&?3#d$N^5g@_V#@eG)X5*`p4K@onn>64jd5=@?QFy;B+lK+%_lIQnQIZ{GZz&(pG9x?yvJV|%ucS>b*;W8is#RB2eV!@t2vMf z%U_+Ol=yZ-k|r9uUjRpJsd{-Feyds&U3_;)WfUar#V9Uom)b`r(*~`lv+5X{-gOj!+!b?%01+u8jwcb4R4QM@p1B>ZxZ8D+HueEkIgW7Oj)razeL<<`S`eQX`gQB z(j((xoTE`U6R2q7Cija$zRL6|dd?B%YV*nblz9|m*FDu`@Df#2fqp%2~`=5nwf@fesGT}ps&I+`?V9glW88~x+*b8=@^(ga*BtYm z_x%_A?CfV)GsxtPxuj@3OpY8sk%_GQLP2Sbu|zYUEAJ%Qzhh9(Z@0{DT*23nf8X+v zw`I2(>j_cHIt77fzRP})ixiuh@^cYkox0TW6x;g!4$k1_4u{HE0}BrEnPVNxZ+k?S zurm7sHqIWFE<#a*LoaD$`201h>EF2Q8s$EqOza7G$HPUU}o{3uv6$SRVba-D5b zS|afh$?c*>sH%jDT{&K22DR1W7OOtjn9x57Oq1N~jH6Rx^;(G@y;Te$)d z4510}sYPghJ;nOWMYxoAuu|U7E*c&xHf)NOeyzo|&8)daVabKks$+T<#m7As#^WS8 zYvvI!_CJJ?9p?hna=^h0n70&! zG&)<1ER>`uxr4~1idm}_j&;y;7nc161iXVEgPMWh)8|BIiGUh+=pEl`$)E0oyv${FR_!MR-du5PZKHr2NOUa`b z6lB z!@tJH(Z<8XLBi;0V!PAEc*Q&QntV**LhZ%y<`puXpEGGw36IQ*vlZRgK-?#Wf(v+& zOcDBc4#KZdG#oi$~hk7j~jicOaFT{A}uuamwj?i|JV&6G1f zC{ZQ~<{SKAPoxQ9>l8~@v0>W&V!Ls*j*J_AN5_*Z=qzb)4mz31Uqhs%$xC95S2f5$ zxiHmw&pPco&NAOGtdySNed++Bw_82Z=L}Ita@(igj$ef|@r^TnKe$OWQQSE1rpkeY z#3d;E^pU!Q_cxov?lLpprhTvIz`RIv68@os>!u|UMIL*DY=NiJe1ID1=j={t)r6h^$WwUVrsaw5r=;*h947% z|G;rBI$r2nJRClm61F&G7bZIBLdh|JfK7V65QeEvz%dVJoz4?LPl$Qm zE_PklexU)uRt)>NPR4VEdgh~G)kW>NS+%%@a3~@QcLO#lYwz4KydRFk0Xc1F9r|@Z z%G}~n6>AI0-g%f*k+yiq(}#*d9_G2tK`)RuKb*Fstl#MTZe*@Z;~+ksGnWds5fv^f zodr)Mw4^#iC&I7bKl{#@1vTenov%Dq!qJfbOsdbNZ<+I?eZ9_h z5SQ{6$5g2dC~+s>m#(@WyG-V9F1j%xEW)w#I<)P%XjQoux>pXY!(`p$(;>BWy>{wd zG<^&l13W}0fIOpZmM zy?l~zNGZSxOurRIW2fUMC84b1R(B9-Uq29)NFhXXc0os_DYwg>@l6euF(qXRW$jyK^<3|6Hbn6+=3H?KXIHZQA$SU zHK-YOd=$}s;nO+1J@RN*o1QY*&fUnDEhPQcH9D(P!hehGm55bg*HqCH?#S1SS&0&l zQCjKN>J`}PLgf_BYRyJ+4MnH;p%(R2Ph?AEw^-7o9(ax-l8*wejVPJC_X9}>Z-p8} z=`8tl2|xe{PsrDf!cr9QywojshPc#H{uI>9qm5M4V^fN-$`&#%LgYPMu+NrilrXZr z0^pAjn&$Hnn*E789F1<`b9DvZ$*vjYm8nI*8QIb}R5|=PX0*-sAR9B%eT(;X1PpL}u&# zzTN|LHigmkY2Uf4h!4wE#AgQa#UkcOS9R86XFZQ=y#)j5A4U^R^Q_V#3aXi{hMK|E zin%~ff#p*7%>NC#9~_sj>*@G_f~Y~Aj%u~l*`LEC^m=KFQ@q(MP8UCGgT;+>rEd7E z6U%5LX`>)pcrT}Qr7x2G5~mrK`%}1r{#mO*5^K9&{D^3F?j>zvVU~T!(d7? zSYih>b-4fw<wlag8$~}37f!4{_k(6QuUcXf& z9;4;kPTo&RpGowFw%QH%LlV1wq4+xyfH-w6Ko9`8(&l^DPkRs#Zn3!vIA1TM1otA3 zE^AzwBphdtl3RUW$&t-wz{S`mqfPa```LK4OIXwRwPj*HGyD>z=$ENqy2T;e_Tq8* zbG18FpX69Ry}6A{K>XOgHA%<#i>dMZ{Xm=K@7461%~?@A+#fSen(*lq^+ZLv58i_t z$NLK`k326=b}!+V;+NlJ54TTziwKQ(?DTb=@`}3X6dQ1;I9Xmv(6FKqVfm>g|~z*jz9Z(QG%4(0V_87-?rq3hswMB|=~7O^vYFJt<}I6oEZ z)iAA4h;I7{yHLM7)VhOO(^atA-l)ext!ZVgJ{)MO1$2;lucJM~v&*l%kCk^Kshut*u|Do3)|b51nqg3vCFKD8f`%L`r(SbK3o+ z>?n1Iv)slu`7Q~#m&5q{+(L2%=eptFl1@7^CHZy$*2($EJiTnLIK}O}-0mtt39{ybm1$%~43&1pZ3O|1q_A_gNpT@g{s9 za)nSk-!^|y_Snv@5Zx^VL39iRcHwtDq zzjRQkL%mKI%&|r!*}SGT$`%wkIfUZgwvdZmgjJO1rptj1pq<8oy0FgvjnLO=O~(~w zoS*mm!AXop9IMx2%+m z1FKjoVLW;)j^#h@dsw_Krn7IIXNT# z;Mn!L**eccS04Xq|GSv|Z`3{v$Cqxeu0~(Q_$=8K3HO=LhOZAl-+325Ekg2ptIbg0 zs~1Ndb9mf#jrZ%w-4;mU*GP>!;mem6;q5KniiK{Miu>n#HOBpeZtDiA_!q0&@=?S4 zn!A*(sEj5ZEn*ZMsgooLJ_kP@+8)Oao0EO#Z(p1?B<3zQAno_w_ZQgTx)@&D`g{F> zxhz3br(*w|m-WSkT{Hd1=&aP#7RvKU?tPPk^+B+c#4lrwQFxgn-ysRaiJz}myDhN$ zl3QIIj(u>S?N0CdQ0rt?2m3$uv}69JS&p+bG?#aEbQ!5 z-dZQ;N%qUNj{V*o-#bwv9wSmToG6J{e#2N$IiJM+32Lu;un8h9Tu_tBtVempT)=j%?8G^398Bt)=z) zWQKlL`e!{Ti8uY=OfS~7sKZfDY{KI%&omyMj3ykDoHUJ(j<;9xU@93hRZ|8dPHe-U zh|d#U_c+_a}NI$-){KVE`mWDau-SSgETvGe_gzZ2BGvE zLHAn!A{I2W63(Yjv{o9**A`89V;JW{yZgW8QS}-ocyZRV&VLfMir$sX*p*x{UsT6k z710TXv7Ev?c9vb80+%~pRd3*Z`1SOlX}!n`GDb~768QR`pX9LJ4z6eU5bli8=kr#x z>h4MzwUwEZy4OVDGK64^`mibY^yzs%s|4J3Ogh;SGk#_px~!x z)XZmR`=iEuhb~X)jTm1ho7vKa#am5bM-KL*Ga)BWFqE)Hn2>cgzl##Bty@?IKOy;% z=O*s75G(OSOIcxF{cKl~{!%Kev$rYz9GW-+dFoQbnms#%i<`~OUupG0`BW>PLyK! zP01R2C5HjWGgyDCPb6%xcofJ;ehllT*Ezr7=}#dbTvgom%-(&|UZgUw?(=Z^kg>IC zUXQx}d=_`L73`|D#La!T{qYououmIxp+e8qJP3X7Y?+!;&} z@UG+w3n{gP#&ITB*PN32LvMXGp7&Po-|j1_%nwn75q2Ck^)d8Ag{D$w_Tiy!JJ`5S z;o(o}Qdk0*_PqQ*V*A1WulBC|AFBQTk7>Fomt@VZt5Q)&_Gn5-_8TEtGK9vO7)zGX zMGGozgdwga31i=~q%0AaQFfycV;c;H8OG=B-urENY-bOcM*NL|!g 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 literal 0 HcmV?d00001 diff --git a/assets/images/core-usage-agile-shared-f395560cce9a4fd4976c5259ce8c67c4.png b/assets/images/core-usage-agile-shared-f395560cce9a4fd4976c5259ce8c67c4.png new file mode 100644 index 0000000000000000000000000000000000000000..871c342f16cd8c54175648ae0b34f1f24e780b87 GIT binary patch literal 82506 zcmeFZbyQS+-!D9lAPN$S(xDZkgM^d_Narwm3DN@6sYnY*Hv=MF(%qdy z&M?5toIUsRoO8Ud^T74zyVkqzwS+Y?uxJ138=u&L8fprp#B{_U5QtPs@yT-#h{z8F zx_ImICEzDNccJ1S&;=K3Sy>HRSp`}9*YU5tgC7LCAK~(;PPs|r zMzea}^WS10$ru^<0%ZsLiCrD79^8=Q(IU*#Oz^#8=Y5y`xg(_x`w_Elqn^W$k6I3n z4iry_u1zJ0u~%BTPseJF-o_C^pCwJ!vAFY3?blUJG z&p&CmvqRjBvvcU-9v^>vQ6%|G)X>DZI{^(H=*_x{pq9e=7v%EWhLbBiabSPM{gRi< zKX1EvL9ecQ&7GQE-C+c~M(-E0^lZ_6NQFJX5K*(+)M{RO)CsJEh=s1wD^*nx2k`nb z=t6)shyZwX0r;W=zCa*w8u)+zgvc-L;{Seq@fQ9~?}^51Adn15>B%E4_Y0d-L`fDS zMl{$NuYu0(&s%kQ)Onqf<#%;Vf0)smu{C=0VDFxG;}8TFuPl;ZxlM5O0uiO6=^oK_ zp6=1vduB>p#ft@|helgZ_3aQAo*oDcB6+B*CwVG49{7h^-a@sFpi-PBL}$FRHczKT z+1z?v;D*G3pbKDv%M`a{{Ql<`%XKoo(-kro&-oSnTP9CrK%>EDUF5(17{+mp0#p!5 zltX*o2VSP203pfFz9Iaz(w-6!_~k7=vbl8r%@g?5T|ED@vaesbFw5cbDdEu>x^BS*vbsqRNVUGWK{{685Oc)^p?uqw@O ze2i*ogNyeUo3hK74;;2V4|)D_lFu+?UgP%D_U8-?OnStare~}4DluQ~ACUcW(1Bh} zR*6}t<8}Vd=3hf}FFz=m;Iay2Hj)H1QYP5^)AohjMvO&Yv7?ee;aW&b^wu+YrQn{D zjLx02GkKf=Oh9B3I%|G_5M`?4W(wS9Bue+%z>1&`>LX_HAV;{8>!J69F0LIN zw0k<&9y=Q;wv;iejkL!h+mDbe3scnU_6pCPZ8%SzSuis>hl&}I-2?1VqDHTS|ICCd zte?aS(-~F%TxfPed0c$Ncc*sf8czN>-?0r>?DBxi^XF0FhWas3>*VFAI90BAPktR8 zem+9WdMQ2OLHYW6Az+uK<9C@sq>HT?u=_&1r_kN{`YNUZ0f-qYaoj9tR!C@DSgaLlAu zz_|KsBt;zR!t71l(edcfKw)@h^wx^ENt5Ko2;bdQcXvx?J8_EUZ#sof(&z|YOcqI^ zpF|rkM(=T=rfWpkwxy4+RqhShEE)C2AeOhi{Trse%9EZ6p$Ic{otx^b;Q8Vy+G(G? zC!~&7J4&__JAbyYP8IEiF*Fzdv|U+an#*c}mmrW~K)E zXcITyQsiAFL`Q|XE3JTx*+6cKKT4BE`#!rOtzeT#WVSVtlA<9#_V&uv!@<^qUL(DN ziSVh4a+h1f*x&qS9`s8$Y1VB%8bK<*)4v>sor0|R;Y7<07a-^Oz4ja+Q(eY8;KCOpVl=++N|{mj_eyCmT9q-!QG8@7;6AFbWAA_duH~iiCAEH=jovUI!t)EI&wue4}e# zL{LZXJX+E+U$s(aK(~}fux_zVdQ7zF9wc;r64cD@%)pCWwVxf}RL|YJTN2<9~d_PD¨hoRuA!C~ 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�LI9Wv}a;)5;nbPhBg98o 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 E2be`RqW}N^ literal 0 HcmV?d00001 diff --git a/assets/js/591eca19.a69296c3.js b/assets/js/591eca19.a69296c3.js new file mode 100644 index 000000000000..a47dc5e75753 --- /dev/null +++ b/assets/js/591eca19.a69296c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7714],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),h=o,m=d["".concat(l,".").concat(h)]||d[h]||u[h]||i;return a?n.createElement(m,r(r({ref:t},p),{},{components:a})):n.createElement(m,r({ref:t},p))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,r[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>m,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=a(87462),o=a(63366),i=(a(67294),a(3905)),r=["components"],s={id:"polkadot-direction",title:"Polkadot Direction",sidebar_label:"Polkadot Direction",description:"Polkadot as a Decentralized and Secure Ubiquitous Computer.",keywords:["polkadot vison","decentralization","ubiquitous computer","coretime","blockspace","cores"],slug:"../polkadot-direction"},l=void 0,c={unversionedId:"general/polkadot-direction",id:"general/polkadot-direction",title:"Polkadot Direction",description:"Polkadot as a Decentralized and Secure Ubiquitous Computer.",source:"@site/../docs/general/polkadot-direction.md",sourceDirName:"general",slug:"/polkadot-direction",permalink:"/docs/polkadot-direction",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/general/polkadot-direction.md",tags:[],version:"current",lastUpdatedBy:"Filippo",lastUpdatedAt:1695876158,formattedLastUpdatedAt:"Sep 28, 2023",frontMatter:{id:"polkadot-direction",title:"Polkadot Direction",sidebar_label:"Polkadot Direction",description:"Polkadot as a Decentralized and Secure Ubiquitous Computer.",keywords:["polkadot vison","decentralization","ubiquitous computer","coretime","blockspace","cores"],slug:"../polkadot-direction"},sidebar:"docs",previous:{title:"Polkadot 1.0",permalink:"/docs/polkadot-v1"},next:{title:"Stay Safe",permalink:"/docs/stay-safe-index"}},p={},d=[{value:"Polkadot as a Computational Resource",id:"polkadot-as-a-computational-resource",level:2},{value:"Summary",id:"summary",level:2},{value:"From Slot Auctions to Coretime Marketplace",id:"from-slot-auctions-to-coretime-marketplace",level:2},{value:"From Chain- to Application-centricity",id:"from-chain--to-application-centricity",level:2},{value:"XCM and Accords",id:"xcm-and-accords",level:3},{value:"Core Usage in Polkadot 1.0",id:"core-usage-in-polkadot-10",level:2},{value:"Agile Coretime Allocation",id:"agile-coretime-allocation",level:2},{value:"Split Coretime",id:"split-coretime",level:3},{value:"Strided Coretime",id:"strided-coretime",level:3},{value:"Combined Coretime",id:"combined-coretime",level:3},{value:"Agile Core Usage",id:"agile-core-usage",level:2},{value:"Compressed Cores",id:"compressed-cores",level:3},{value:"Shared Cores",id:"shared-cores",level:3},{value:"Agile Composable Computer",id:"agile-composable-computer",level:2},{value:"Polkadot's Resilience",id:"polkadots-resilience",level:2}],u={toc:d},h="wrapper";function m(e){var t=e.components,s=(0,o.Z)(e,r);return(0,i.kt)(h,(0,n.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"The material on this page is based on\n",(0,i.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=GIB1WeVuJD0"},"Gavin Wood's talk at Polkadot Decoded 2023"),".")),(0,i.kt)("p",null,"Understanding what ",(0,i.kt)("a",{parentName:"p",href:"/docs/polkadot-v1"},"Polkadot 1.0")," is about and the philosophy behind it will help\nus to envision the future direction of the Polkadot ecosystem toward abstraction and generalization."),(0,i.kt)("h2",{id:"polkadot-as-a-computational-resource"},"Polkadot as a Computational Resource"),(0,i.kt)("p",null,"Polkadot has been abstracted and generalized beyond what was originally proposed and envisioned in\nthe ",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.network/whitepaper/"},"whitepaper"),". Polkadot is:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"About ",(0,i.kt)("a",{parentName:"li",href:"/docs/polkadot-v1#polkadots-blockspace"},(0,i.kt)("strong",{parentName:"a"},"Blockspace"))," (the underlying resources that\nchains need), not chains."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"A platform to build applications")," rather than chains, and for people to use those applications.\nFundamentally, Polkadot is not a platform to host chains, and so far, chains happened to be one\nway to build applications and grow Polkadot's utility."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"A provider of resilient general-purpose continuation computation"),", where the term\n",(0,i.kt)("em",{parentName:"li"},"continuation")," refers to a broad long-running task that can do something, pause, continue (or do\nsomething else) later."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"A multicore computer")," where chains that continuously operate in parallel on different cores are\ncalled ",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-parachains"},"parachains"),". Currently, one core is reserved for one chain\nthrough ",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-auction"},"slot auction mechanism"),", although one core can be reserved\non-demand to multiple chains at different periods (see\n",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-parathreads"},"parathreads"),"). At the time of writing (mid 2023), on Polkadot,\nthere are around 50 cores independently operating in parallel.")),(0,i.kt)("p",null,"From now ",(0,i.kt)("em",{parentName:"p"},"application")," will be used as a general term to describe anything that can use a Polkadot\ncore to access secure and decentralized computation."),(0,i.kt)("h2",{id:"summary"},"Summary"),(0,i.kt)("p",null,"If we see Polkadot as a service provider of trustless and resilient computation through cores as\nwell as secure interoperability between core-powered applications, the future development of\nPolkadot can be directed towards the following main changes."),(0,i.kt)("p",null,"A paradigm shift from:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"being a chain-focused ecosystem where each parachain owned an execution core at all times\n(acquired through fixed parachain slots), which allowed a simple and secure, sharded execution\nenvironment"),(0,i.kt)("li",{parentName:"ul"},"to being an application-focused ecosystem where where we remove the assumption that each\napplication owns a core, and instead that all cores are a resource to be consumed and used as\nneeded by all applications.")),(0,i.kt)("p",null,"Previously, securing a parachain slot was a competitive process through an\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-auction"},"auction mechanism"),". With coretime rental, there is no need for slot\nauctions anymore. Teams can either purchase some instantaneous coretime, or reserve bulk coretime as\nrequired. This greatly decreases the barrier-to-entry for software tinkerers and parachain teams."),(0,i.kt)("p",null,"On top of those main changes, ",(0,i.kt)("a",{parentName:"p",href:"#agile-core-usage"},"agile core usage")," and\n",(0,i.kt)("a",{parentName:"p",href:"#agile-coretime-allocation"},"coretime allocation")," will allow any application to access Polkadot's\ncomputation based on their needs without wasting valuable blockspace. ",(0,i.kt)("a",{parentName:"p",href:"#xcm-and-accords"},"Accords"),"\nwill improve cross-chain communication and the security guarantees of XCM messages. Finally,\nPolkadot itself will scale by moving on-chian logic into its own system parachains, allowing it to\nhave more bandwidth for the ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-parachains-protocol"},"parachains protocol")," and\naccords."),(0,i.kt)("h2",{id:"from-slot-auctions-to-coretime-marketplace"},"From Slot Auctions to Coretime Marketplace"),(0,i.kt)("p",null,"The end product of blockchains is ",(0,i.kt)("a",{parentName:"p",href:"/docs/polkadot-v1#polkadots-blockspace"},(0,i.kt)("strong",{parentName:"a"},"Blockspace")),".\nApplications need to access Polkadot's blockspace, and the entry points to blockspace are the cores.\nThus, applications will need to reserve some time on cores or ",(0,i.kt)("strong",{parentName:"p"},"Coretime")," to gain the right to\naccess Polkadot's secure blockspace and interoperability for a finite period."),(0,i.kt)("p",null,"Cores must be agile and general: they can change what job they run as easily as a modern CPU. It\nfollows that the procurement of those cores must be agile as well."),(0,i.kt)("p",null,"The slot auction mechanism is not agile, creates high entry barriers, and is designed for\nlong-running single applications (i.e., the original Polkadot vision proposed in the whitepaper)."),(0,i.kt)("p",null,"We depart from the classic lease auctions and propose an agile marketplace for coretime, where\nessentially ",(0,i.kt)("strong",{parentName:"p"},"coretime becomes a commodity that can be tokenized, sold and traded"),". This setup\nmaximizes the agility of Polkadot and lets the market figure out the best solution needed for\napplications to be successful."),(0,i.kt)("p",null,"Applications will be able to reserve ",(0,i.kt)("strong",{parentName:"p"},"bulk coretime")," and ",(0,i.kt)("strong",{parentName:"p"},"instantaneous coretime")," depending on\ntheir needs. Bulk coretime rental will be a standard rental of coretime through a broker system\nparachain at fixed price for a fixed period of time. Instantaneous coretime rental will be available\nthrough ongoing sale of coretime for immediate use at a spot price. This system will lowers the\nbarrier-to-entry for prospective builders."),(0,i.kt)("p",null,"Revenues from coretime sales can for example be burnt, used to fund the Treasury, or used for a mix\nof those options. The topic is currently under discussion. For more information, see\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/polkadot-fellows/RFCs/pull/10"},"RFC-0010")," and\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/polkadot-fellows/RFCs/pull/17/files"},"RFC-0015"),"."),(0,i.kt)("h2",{id:"from-chain--to-application-centricity"},"From Chain- to Application-centricity"),(0,i.kt)("p",null,"Polkadot 1.0 was a chain-centric paradigm consisting of isolated chains able to exchange messages.\nThis was not fundamentally different from having completely different chains connected to bridges,\nwith the only difference of having the relay-chain securing the network, providing message-passing\ncapability, and doing some extra tasks such as ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-crowdloans"},"crowdloans"),",\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-auction"},"auctions"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-staking"},"staking"),",\n",(0,i.kt)("a",{parentName:"p",href:"./learn-accounts-index"},"accounts"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-balance-transfers"},"balances"),", and\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-polkadot-opengov"},"governance"),". Having a chain-centric system will ultimately end\nin chain-centric application and UX."),(0,i.kt)("p",null,"The true innovation of Polkadot is about leveraging the unique value proposition offered by\ndifferent chains and using those chains\u2019 collaborative potential to build inter-chain applications\nto solve real-world problems. Those applications will thus need to span across chains."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Increasingly fewer tasks will be handled by the relay-chain")," that will focus efforts only on\nprimary tasks: securing the network and providing secure message-passing capability.\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-system-chains"},"System parachains")," will be used to take over secondary relay-chain\ntasks such as staking, governance, etc."),(0,i.kt)("h3",{id:"xcm-and-accords"},"XCM and Accords"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/docs/learn-xcm"},"XCMP")," is the transport layer for delivering XCM messages. It gives the\ntransportation method and a secure route but not a framework for binding agreements."),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/docs/learn-xcm-transport"},"XCM")," is a format, a language of intention abstract over\nfunctionality common within chains. It creates an expressive language of what you intend to do or\nwant to happen. XCM messages are transported between different chains using XCMP. Ideally, in a\nfully trustless environment, strong guarantees ensure chains faithfully interpret XCM messages. We\ncan have a secure mode of delivering messages that can be interpreted across protocols, but still\nmessages might be misinterpreted. These guarantees can be achieved with accords."),(0,i.kt)("p",null,"An ",(0,i.kt)("strong",{parentName:"p"},"Accord")," is an ",(0,i.kt)("em",{parentName:"p"},"opt-in")," treaty across many chains, where treaty logic cannot be changed or\nundermined by one or more of those chains, and Polkadot guarantees faithful execution of this logic.\nAccords will be specific to a particular function, and any chain that enters the accord will be held\nto it and will service that particular function. To lower the entry barrier, accords can be proposed\npermissionlessly, but because they are opt-in, the accord proposal will take effect until chains\nagree and sign up."),(0,i.kt)("p",null,"To sum up, accords ensure that XCM messages securely sent via XCMP channels are faithfully\ninterpreted by the receiver. Accords are the missing piece of the puzzle to achieve a fully\ntrustless and collaborative environment between applications."),(0,i.kt)("p",null,"Polkadot is the only ecosystem where accords can properly exist because it has an homogenous\nsecurity layer that also provides a specific state transition function for each of its logic\ncomponents. This allows patterns of cooperation between multiple logic components (i.e.,\ntrans-applications) that would not be possible to achieve over bridges."),(0,i.kt)("p",null,"Accords will be implemented using ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-spree"},"SPREE technology"),"."),(0,i.kt)("h2",{id:"core-usage-in-polkadot-10"},"Core Usage in Polkadot 1.0"),(0,i.kt)("p",null,"In Polkadot 1.0, applications produced blocks at a fixed rate of 12 seconds, whether needed or not.\nThis led to inefficient energy allocation and economic incentives for producing full blocks under\nheavy traffic and empty blocks under light traffic."),(0,i.kt)("p",null,"The figure below shows the core usage for Polkadot 1.0, where the horizontal axis is time, and each\nrow represents a core. Colors show different parachains, each using one core (i.e., one parachain,\none core formula)."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-dumb",src:a(42030).Z,width:"1920",height:"800"})),(0,i.kt)("p",null,"The above setup allowed a ",(0,i.kt)("strong",{parentName:"p"},"simple and secure, sharded execution environment"),"."),(0,i.kt)("p",null,"However, to achieve full efficiency blocks must be produced when needed, and the system must target\nfull block capacity lowering the probability of incentivizing validators to build blocks half full\nor, worse, empty."),(0,i.kt)("h2",{id:"agile-coretime-allocation"},"Agile Coretime Allocation"),(0,i.kt)("p",null,"In Polkadot 1.0, coretime is a fixed two-year period on one specific core. Here we remove this\nlimitation and generalize coretime usage to meet different application needs."),(0,i.kt)("h3",{id:"split-coretime"},"Split Coretime"),(0,i.kt)("p",null,"Owners of coretime can split or trade it. An application A1 can run on core C1 for a finite period\nand then another application A2 can run on that core, or application A1 can continue running on\nanother core C2. Some applications might stop running for some time and resume later on."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-rangeSplit",src:a(4544).Z,width:"1920",height:"800"})),(0,i.kt)("h3",{id:"strided-coretime"},"Strided Coretime"),(0,i.kt)("p",null,"Ranges can be strided (i.e., applications can take turns on a core) to share costs or decrease block\nproduction rate, for example."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-rangeStrided",src:a(87618).Z,width:"1920",height:"800"})),(0,i.kt)("h3",{id:"combined-coretime"},"Combined Coretime"),(0,i.kt)("p",null,"An application can be assigned to multiple cores simultaneously. Some applications can have a\npermanent core assignment and an intermittent one, for example, in a period of high demand to send\nmultiple blocks to multiple cores at the same time slot to reduce latency."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-combined",src:a(7050).Z,width:"1920",height:"800"})),(0,i.kt)("h2",{id:"agile-core-usage"},"Agile Core Usage"),(0,i.kt)("p",null,"In Polkadot 1.0 the one core is assigned to one application (in this case equivalent to a\nparachain). Ideally, core affinity (i.e., which application operates on which core) is unimportant\n(see below). Cores do not have any higher friendliness to one application than another."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-dumb-noAffinity",src:a(35791).Z,width:"1920",height:"800"})),(0,i.kt)("p",null,"Here we remove the assumption that each application owns a core, and instead that all cores are a\nresource to be consumed and used as needed by all applications in the ecosystem."),(0,i.kt)("h3",{id:"compressed-cores"},"Compressed Cores"),(0,i.kt)("p",null,"The same core can secure multiple blocks of the same application simultaneously. Combining multiple\napplication blocks in the same relay chain core will reduce latency at the expense of increased\nbandwidth for the fixed price of opening and closing a block."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-compressed",src:a(18568).Z,width:"1920",height:"800"})),(0,i.kt)("h3",{id:"shared-cores"},"Shared Cores"),(0,i.kt)("p",null,"Sharing cores with other applications to share costs but with no reduction in latency. Note that\nthis is different from the ",(0,i.kt)("a",{parentName:"p",href:"#split-coretime"},"split coretime")," where one core is used by multiple\napplication at different times to share costs at the expense of higher latency."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-shared",src:a(9224).Z,width:"1920",height:"800"})),(0,i.kt)("h2",{id:"agile-composable-computer"},"Agile Composable Computer"),(0,i.kt)("p",null,"All the above options of agile ",(0,i.kt)("a",{parentName:"p",href:"#agile-coretime-allocation"},"coretime allocation")," and\n",(0,i.kt)("a",{parentName:"p",href:"#agile-core-usage"},"core usage")," can be composable and enable the creation of an agile decentralized\nglobal computing system."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"core-usage-agile-composable",src:a(2853).Z,width:"1920",height:"800"})),(0,i.kt)("p",null,"Thus, this new vision is focused on Polkadot\u2019s resource, which is secure, flexible and available\nblockspace that can be accessed by reserving some time on a core. Agility in allocation of coretime\nand use of cores allow for maximized network efficiency and blockspace usage."),(0,i.kt)("h2",{id:"polkadots-resilience"},"Polkadot's Resilience"),(0,i.kt)("p",null,"Systems that have yet to be engineered with decentralization, cryptography, and game theory in mind,\nare breakable and prone to cyber-attacks. Polkadot is basing its resilience on different pillars:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Preponderance of light-client usage:")," Centralized RPC servers are common but susceptible to\nattack and not trustless decentralized entry points to using blockchain-based applications. Light\nclient usage on Polkadot is possible through\n",(0,i.kt)("a",{parentName:"li",href:"/docs/build-substrate#how-to-use-substrate-connect"},"Smoldot"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Zero-Knowledge (ZK) Primitives:")," They can have a problematic effect on censorship and\ncentralization as having a big state transition function boiled down to a single proof of correct\nexecution is not currently a scaling solution to build resilient systems. However, a library of\nrichly featured and high-performance ZK primitives ready for specific use cases is being built.\nThe first use-case will be used to improve privacy for on-chain collectives such as\n",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-polkadot-opengov#the-technical-fellowship"},"the Polkadot Technical Fellowship"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},(0,i.kt)("a",{parentName:"strong",href:"/docs/learn-sassafras"},"Sassafras")," consensus:")," New forkless block-production consensus\nalgorithm replacing ",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-consensus#block-production-babe"},"BABE")," and where block are\nnot produced unless they are expected to be finalized. This will provide several benefits, such\nas:",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Improved security, parachain performance, and UX from being forkless"),(0,i.kt)("li",{parentName:"ul"},"Preventing front-running attacks through high-performance transaction routing where transactions\nare included in blocks in one hop instead of being gossiped, and transaction encryption."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Internode Mixnet:")," Shielded transport for short messages that",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"avoids leaking IP information for transactions, and"),(0,i.kt)("li",{parentName:"ul"},"introduces a general messaging system allowing users, chains and off-chain workers, smart\ncontracts, pallets, and anything else existing within a chain to exchange messages containing\nsignatures, intentions, etc."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Social Decentralization:")," Resilience is achieved by including many participants contributing to\nthe system and coming to decisions through on-chain governance. Involving as many people as\npossible ensures resilience against spending becoming systemically misjudged and appropriately\ndirects wealth for spending treasury funds, salaries, and grants. Another crucial way of\ndecentralizing the network is ensuring experts on which the maintenance of the system relies upon\nare incentivized and recruited over time by the Polkadot network and not by organizations within\nthe Polkadot ecosystem.")))}m.isMDXComponent=!0},7050:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-combined-4ef969fb72931430cf067bccc10c1a73.png"},2853:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-composable-ee626ebd055fdf3bbd6d88d70bc2c110.png"},18568:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-compressed-db4821b411e6f4be0c12167d89ee022e.png"},4544:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-rangeSplit-d8511cbb8658052ac0a639bd6a722982.png"},87618:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-rangeStrided-605254487f94721806beca92707cfaf3.png"},9224:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-agile-shared-f395560cce9a4fd4976c5259ce8c67c4.png"},35791:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-dumb-noAffinity-8d86655d36adc7c8de32114821a1764a.png"},42030:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/core-usage-dumb-6419ee60a3606e10d89a1c91dbf24e20.png"}}]); \ No newline at end of file diff --git a/assets/js/73c3bebc.38ccdcd9.js b/assets/js/73c3bebc.ff50cb20.js similarity index 59% rename from assets/js/73c3bebc.38ccdcd9.js rename to assets/js/73c3bebc.ff50cb20.js index 6ab75a7ebe47..c4404464e92f 100644 --- a/assets/js/73c3bebc.38ccdcd9.js +++ b/assets/js/73c3bebc.ff50cb20.js @@ -1 +1 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1211],{47084:e=>{e.exports=JSON.parse('{"title":"Stay Safe","description":"Learn about good-practices to stay safe while surfing in Web3.","slug":"/stay-safe-index","permalink":"/docs/stay-safe-index","navigation":{"previous":{"title":"Polkadot 1.0","permalink":"/docs/polkadot-v1"},"next":{"title":"Scam Protection","permalink":"/docs/learn-scams"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1211],{47084:e=>{e.exports=JSON.parse('{"title":"Stay Safe","description":"Learn about good-practices to stay safe while surfing in Web3.","slug":"/stay-safe-index","permalink":"/docs/stay-safe-index","navigation":{"previous":{"title":"Polkadot Direction","permalink":"/docs/polkadot-direction"},"next":{"title":"Scam Protection","permalink":"/docs/learn-scams"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.01d75be6.js b/assets/js/935f2afb.01d75be6.js deleted file mode 100644 index 83e52a715bef..000000000000 --- a/assets/js/935f2afb.01d75be6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53],{22624:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"Learn","items":[{"type":"category","label":"General","description":"General Information to get started with Polkadot and Web3.","items":[{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"general/getting-started"},{"type":"category","label":"Polkadot Vision","description":"Polkadot\'s Vision revealed by Gavin Wood at Decoded 2023.","items":[{"type":"link","label":"Polkadot 1.0","href":"/docs/polkadot-v1","docId":"general/polkadot-v1"}],"collapsed":true,"collapsible":true,"href":"/docs/polkadot-vision-index"},{"type":"category","label":"Stay Safe","description":"Good-practices to Stay Safe while Surfing in Web3.","items":[{"type":"link","label":"Scam Protection","href":"/docs/learn-scams","docId":"general/scams"},{"type":"link","label":"Do Your Own Research","href":"/docs/how-to-dyor","docId":"general/how-to-dyor"}],"collapsed":true,"collapsible":true,"href":"/docs/stay-safe-index"},{"type":"category","label":"Wallets","description":"Wallet Options in the Polkadot Ecosystem.","items":[{"type":"link","label":"Wallets and Extensions","href":"/docs/wallets-and-extensions","docId":"general/wallets-and-extensions"},{"type":"link","label":"Ledger","href":"/docs/ledger","docId":"general/ledger"},{"type":"link","label":"Polkadot Vault","href":"/docs/polkadot-vault","docId":"general/polkadot-vault"},{"type":"link","label":"Polkadot-JS UI","href":"/docs/polkadotjs-ui","docId":"general/polkadotjs-ui"}],"collapsed":true,"collapsible":true,"href":"/docs/wallets-index"},{"type":"category","label":"Dashboards","description":"Dashboards in the Polkadot Ecosystem.","items":[{"type":"link","label":"Staking Dashboard","href":"/docs/staking-dashboard","docId":"general/staking-dashboard"}],"collapsed":true,"collapsible":true,"href":"/docs/dashboards-index"},{"type":"link","label":"Polkadot-JS","href":"/docs/polkadotjs","docId":"general/polkadotjs"},{"type":"category","label":"Community & Contributors","description":"Polkadot Community and Wiki Contributors.","items":[{"type":"link","label":"Community","href":"/docs/community","docId":"general/community"},{"type":"link","label":"Contributing to the Wiki","href":"/docs/contributing","docId":"general/contributing"},{"type":"link","label":"Contributors","href":"/docs/contributors","docId":"general/contributors"}],"collapsed":true,"collapsible":true,"href":"/docs/community-index"},{"type":"category","label":"Programmes","description":"Programmes and Initiatives within the Polkadot Ecosystem.","items":[{"type":"link","label":"Grants","href":"/docs/grants","docId":"general/grants"},{"type":"link","label":"Bug Bounty","href":"/docs/bug-bounty","docId":"general/bug-bounty"},{"type":"link","label":"Polkadot Ambassadors","href":"/docs/ambassadors","docId":"general/ambassadors"},{"type":"link","label":"Substrate Builders","href":"/docs/builders-program","docId":"general/builders-program"},{"type":"link","label":"Thousand Validators","href":"/docs/thousand-validators","docId":"general/doc-thousand-validators"},{"type":"link","label":"Thousand Contributors","href":"/docs/thousand-contributors","docId":"general/doc-thousand-contributors"},{"type":"link","label":"Developer Heroes","href":"/docs/dev-heroes","docId":"general/dev-heroes"}],"collapsed":true,"collapsible":true,"href":"/docs/programmes-index"},{"type":"link","label":"Build on Polkadot","href":"/docs/start-building","docId":"general/start-building"},{"type":"link","label":"Research Pages","href":"/docs/research","docId":"general/research"},{"type":"link","label":"Metadata Explorer","href":"/docs/metadata","docId":"general/metadata"},{"type":"link","label":"FAQ","href":"/docs/faq","docId":"general/faq"},{"type":"link","label":"Glossary","href":"/docs/glossary","docId":"general/glossary"}],"collapsed":true,"collapsible":true,"href":"/docs/general-index"},{"type":"category","label":"Basics","description":"Staking, Accounts, Transactions, Tokens and NFTs, and Governance.","items":[{"type":"category","label":"Accounts","description":"Basic Accounts, Identity, Multi-signature, and Proxies.","items":[{"type":"link","label":"Polkadot Accounts","href":"/docs/learn-accounts","docId":"learn/learn-accounts"},{"type":"link","label":"Account Generation","href":"/docs/learn-account-generation","docId":"learn/learn-account-generation"},{"type":"link","label":"Account Abstraction","href":"/docs/learn-account-abstraction","docId":"learn/learn-account-abstraction"},{"type":"link","label":"Account Identity","href":"/docs/learn-identity","docId":"learn/learn-identity"},{"type":"link","label":"Multi-Signature Accounts","href":"/docs/learn-account-multisig","docId":"learn/learn-account-multisig"},{"type":"link","label":"Proxy Accounts","href":"/docs/learn-proxies","docId":"learn/learn-proxies"},{"type":"link","label":"Pure Proxy Accounts","href":"/docs/learn-proxies-pure","docId":"learn/learn-proxies-pure"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-accounts-index"},{"type":"category","label":"Transactions","description":"Extrinsics, Balance Transfers, and Fees.","items":[{"type":"link","label":"Extrinsics","href":"/docs/learn-extrinsics","docId":"learn/learn-extrinsics"},{"type":"link","label":"Balances Transfers","href":"/docs/learn-balance-transfers","docId":"learn/learn-balance-transfers"},{"type":"link","label":"Transaction Fees","href":"/docs/learn-transaction-fees","docId":"learn/learn-transaction-fees"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-transactions-index"},{"type":"category","label":"Tokens and Assets","description":"DOT Token, Asset Hub, and Teleports.","items":[{"type":"link","label":"Asset Hub","href":"/docs/learn-assets","docId":"learn/learn-assets"},{"type":"link","label":"DOT","href":"/docs/learn-DOT","docId":"learn/learn-DOT"},{"type":"link","label":"Token Inflation","href":"/docs/learn-inflation","docId":"learn/learn-inflation"},{"type":"link","label":"Teleporting Assets","href":"/docs/learn-teleport","docId":"learn/learn-teleport"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-assets-index"},{"type":"category","label":"NFTs","description":"Intro to NFTs and NFT Projects.","items":[{"type":"link","label":"Introduction to NFTs","href":"/docs/learn-nft","docId":"learn/learn-nft"},{"type":"link","label":"NFT Projects","href":"/docs/learn-nft-projects","docId":"learn/learn-nft-projects"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-nft-index"},{"type":"category","label":"Components","description":"OpenGov, Treasury, WASM, Runtime Upgrades, and more.","items":[{"type":"link","label":"Polkadot Host","href":"/docs/learn-polkadot-host","docId":"learn/learn-polkadot-host"},{"type":"link","label":"WebAssembly (Wasm)","href":"/docs/learn-wasm","docId":"learn/learn-wasm"},{"type":"link","label":"Runtime Upgrades","href":"/docs/learn-runtime-upgrades","docId":"learn/learn-runtime-upgrades"},{"type":"link","label":"Polkadot OpenGov","href":"/docs/learn-polkadot-opengov","docId":"learn/learn-polkadot-opengov"},{"type":"link","label":"Treasury","href":"/docs/learn-polkadot-opengov-treasury","docId":"learn/learn-polkadot-opengov-treasury"},{"type":"link","label":"Consensus","href":"/docs/learn-consensus","docId":"learn/learn-consensus"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-components-index"},{"type":"category","label":"Staking","description":"Staking Philosophy and Mechanics.","items":[{"type":"link","label":"Introduction to Staking","href":"/docs/learn-staking","docId":"learn/learn-staking"},{"type":"link","label":"Nomination Pools","href":"/docs/learn-nomination-pools","docId":"learn/learn-nomination-pools"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-staking-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-basics-index"},{"type":"category","label":"Advanced","description":"Advanced Concepts & Guides about Accounts, Staking, and NFTs.","items":[{"type":"link","label":"Accounts","href":"/docs/learn-account-advanced","docId":"learn/learn-account-advanced"},{"type":"link","label":"Advanced Staking Concepts","href":"/docs/learn-staking-advanced","docId":"learn/learn-staking-advanced"},{"type":"link","label":"NFT Pallets","href":"/docs/learn-nft-pallets","docId":"learn/learn-nft-pallets"},{"type":"link","label":"Cryptography","href":"/docs/learn-cryptography","docId":"learn/learn-cryptography"},{"type":"link","label":"NPoS Election Algorithms","href":"/docs/learn-phragmen","docId":"learn/learn-phragmen"},{"type":"category","label":"How-to Guides","description":"Advanced Guides about Staking, Asset Hub, Vault App, and more.","items":[{"type":"category","label":"Staking","description":"Advanced How-to Guides about Staking.","items":[{"type":"link","label":"Staking","href":"/docs/learn-guides-staking","docId":"learn/learn-guides-staking"},{"type":"link","label":"Nomination Pools","href":"/docs/learn-guides-staking-pools","docId":"learn/learn-guides-staking-pools"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-staking-index"},{"type":"link","label":"OpenGov","href":"/docs/learn-guides-polkadot-opengov","docId":"learn/learn-guides-polkadot-opengov"},{"type":"link","label":"Treasury","href":"/docs/learn-guides-treasury","docId":"learn/learn-guides-treasury"},{"type":"link","label":"Identity","href":"/docs/learn-guides-identity","docId":"learn/learn-guides-identity"},{"type":"category","label":"Asset Hub","description":"Advanced How-to Guides about the Asset Hub.","items":[{"type":"link","label":"Creating Assets","href":"/docs/learn-guides-assets-create","docId":"learn/learn-guides-assets-create"},{"type":"link","label":"Asset Hub Ledger App","href":"/docs/learn-guides-assets-ledger","docId":"learn/learn-guides-assets-ledger"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-assets-index"},{"type":"link","label":"Polkadot Vault","href":"/docs/learn-guides-vault","docId":"learn/learn-guides-vault"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-advanced-index"},{"type":"category","label":"Architecture","description":"Nominators, Validators, Collators, Parachains, and more.","items":[{"type":"link","label":"Architecture","href":"/docs/learn-architecture","docId":"learn/learn-architecture"},{"type":"category","label":"Network Participants","description":"Participants in the Polkadot Ecosystem.","items":[{"type":"link","label":"Collator","href":"/docs/learn-collator","docId":"learn/learn-collator"},{"type":"link","label":"Nominator","href":"/docs/learn-nominator","docId":"learn/learn-nominator"},{"type":"link","label":"Validator","href":"/docs/learn-validator","docId":"learn/learn-validator"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-participants-index"},{"type":"category","label":"Parachains","description":"Parachains\' Protocol, Auctions, Crowdloans, and more.","items":[{"type":"link","label":"Introduction to Parachains","href":"/docs/learn-parachains","docId":"learn/learn-parachains"},{"type":"link","label":"Protocol Overview","href":"/docs/learn-parachains-protocol","docId":"learn/learn-parachains-protocol"},{"type":"link","label":"System Parachains","href":"/docs/learn-system-chains","docId":"learn/learn-system-chains"},{"type":"link","label":"Parachain Slot Auctions","href":"/docs/learn-auction","docId":"learn/learn-auction"},{"type":"link","label":"Parachain Crowdloans","href":"/docs/learn-crowdloans","docId":"learn/learn-crowdloans"},{"type":"link","label":"Parachains FAQ","href":"/docs/learn-parachains-faq","docId":"learn/learn-parachains-faq"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-parachains-index"},{"type":"link","label":"Bridges","href":"/docs/learn-bridges","docId":"learn/learn-bridges"},{"type":"category","label":"Cross Consensus Messaging (XCM)","description":"Polkadot\'s Cross-Consensus Messaging Format (XCM).","items":[{"type":"link","label":"Cross-Consensus Message Format (XCM)","href":"/docs/learn-xcm","docId":"learn/learn-xcm"},{"type":"link","label":"XCM Pallet","href":"/docs/learn-xcm-pallet","docId":"learn/learn-xcm-pallet"},{"type":"link","label":"XCM Use-cases","href":"/docs/learn-xcm-usecases","docId":"learn/learn-xcm-usecases"},{"type":"link","label":"XCM Transport","href":"/docs/learn-xcm-transport","docId":"learn/learn-xcm-transport"},{"type":"link","label":"XCM Virtual Machine (XCVM)","href":"/docs/learn-xcvm","docId":"learn/learn-xcvm"},{"type":"link","label":"XCM Instructions","href":"/docs/learn-xcm-instructions","docId":"learn/learn-xcm-instructions"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-xcm-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-architecture-index"},{"type":"category","label":"XCM Docs","description":"In-depth documentation about the Polkadot\'s Cross-Chain Messaging (XCM).","items":[{"type":"link","label":"XCM: Cross-Consensus Messaging","href":"/docs/learn/xcm/introduction","docId":"learn/xcm/learn-xcm-docs-intro"},{"type":"category","label":"Overview","description":"Overview of the XCM Documentation.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/overview-summary","docId":"learn/xcm/overview/learn-xcm-docs-overview-summary"},{"type":"link","label":"Introduction","href":"/docs/learn/xcm/overview-intro","docId":"learn/xcm/overview/learn-xcm-docs-overview-intro"},{"type":"link","label":"A Format, not a Protocol","href":"/docs/learn/xcm/overview-format","docId":"learn/xcm/overview/learn-xcm-docs-overview-format"},{"type":"link","label":"The XCVM","href":"/docs/learn/xcm/overview-xcvm","docId":"learn/xcm/overview/learn-xcm-docs-overview-xcvm"},{"type":"link","label":"Architecture","href":"/docs/learn/xcm/overview-architecture","docId":"learn/xcm/overview/learn-xcm-docs-overview-architecture"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/overview"},{"type":"category","label":"Quickstart","description":"Start Diving into XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/quickstart-summary","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary"},{"type":"link","label":"XCM Simulator","href":"/docs/learn/xcm/quickstart-simulator","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator"},{"type":"link","label":"First Look at an XCM","href":"/docs/learn/xcm/quickstart-first-look","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/quickstart"},{"type":"category","label":"Fundamentals","description":"Fundamental Concepts about XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/fundamentals-summary","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary"},{"type":"category","label":"MultiLocation","description":"The MultiLocation Type.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/fundamentals/multilocation-summary","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary"},{"type":"link","label":"Junction(s)","href":"/docs/learn/xcm/fundamentals/multilocation-junctions","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions"},{"type":"link","label":"Example","href":"/docs/learn/xcm/fundamentals/multilocation-example","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/fundamentals/multilocation"},{"type":"link","label":"MultiAsset","href":"/docs/learn/xcm/fundamentals-multiasset","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset"},{"type":"link","label":"XCVM","href":"/docs/learn/xcm/fundamentals-xcvm","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm"},{"type":"link","label":"Weight and Fees","href":"/docs/learn/xcm/fundamentals-fees","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/fundamentals"},{"type":"category","label":"A Journey through XCM","description":"A Practical Introduction to the XCM Features","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/journey-summary","docId":"learn/xcm/journey/learn-xcm-docs-journey-summary"},{"type":"category","label":"Transfers","description":"Transferring Assets between Consensus Systems with XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/journey/transfers-summary","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary"},{"type":"link","label":"Asset Teleportation","href":"/docs/learn/xcm/journey/transfers-teleport","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport"},{"type":"link","label":"Reserve-backed Transfers","href":"/docs/learn/xcm/journey/transfers-reserve","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/journey/transfers"},{"type":"link","label":"Fee Handling","href":"/docs/learn/xcm/journey-fees","docId":"learn/xcm/journey/learn-xcm-docs-journey-fees"},{"type":"link","label":"Transact: A General Solution","href":"/docs/learn/xcm/journey-transact","docId":"learn/xcm/journey/learn-xcm-docs-journey-transact"},{"type":"link","label":"Origin Manipulation","href":"/docs/learn/xcm/journey-origin","docId":"learn/xcm/journey/learn-xcm-docs-journey-origin"},{"type":"link","label":"More Register Modifiers","href":"/docs/learn/xcm/journey-register","docId":"learn/xcm/journey/learn-xcm-docs-journey-register"},{"type":"link","label":"More Holding Modifiers","href":"/docs/learn/xcm/journey-holding","docId":"learn/xcm/journey/learn-xcm-docs-journey-holding"},{"type":"link","label":"Trap and Claim Assets","href":"/docs/learn/xcm/journey-assets","docId":"learn/xcm/journey/learn-xcm-docs-journey-assets"},{"type":"link","label":"Expectations","href":"/docs/learn/xcm/journey-expectations","docId":"learn/xcm/journey/learn-xcm-docs-journey-expectations"},{"type":"link","label":"Queries","href":"/docs/learn/xcm/journey-queries","docId":"learn/xcm/journey/learn-xcm-docs-journey-queries"},{"type":"link","label":"Version Subscription","href":"/docs/learn/xcm/journey-version","docId":"learn/xcm/journey/learn-xcm-docs-journey-version"},{"type":"link","label":"Locks","href":"/docs/learn/xcm/journey-locks","docId":"learn/xcm/journey/locks/learn-xcm-docs-journey-locks"},{"type":"link","label":"Channels and Bridges","href":"/docs/learn/xcm/journey-channels","docId":"learn/xcm/journey/learn-xcm-docs-journey-channels"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/journey"},{"type":"link","label":"Executor Configuration","href":"/docs/learn/xcm/config-deep-dive","docId":"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive"},{"type":"link","label":"Testing","href":"/docs/learn/xcm/testing","docId":"learn/xcm/learn-xcm-docs-testing"},{"type":"category","label":"References","description":"XCVM Registers and Glossary","items":[{"type":"link","label":"All XCVM Registers","href":"/docs/learn/xcm/reference-xcvm-registers","docId":"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers"},{"type":"link","label":"Glossary","href":"/docs/learn/xcm/reference-glossary","docId":"learn/xcm/reference/learn-xcm-docs-reference-glossary"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/references"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm"},{"type":"category","label":"Polkadot Comparisons","description":"Comparison between Polkadot and other Networks. ","items":[{"type":"link","label":"Kusama","href":"/docs/learn-comparisons-kusama","docId":"learn/learn-comparisons-kusama"},{"type":"link","label":"Ethereum","href":"/docs/learn-comparisons-ethereum-2","docId":"learn/learn-comparisons-ethereum-2"},{"type":"link","label":"Cosmos","href":"/docs/learn-comparisons-cosmos","docId":"learn/learn-comparisons-cosmos"},{"type":"link","label":"Avalanche","href":"/docs/learn-comparisons-avalanche","docId":"learn/learn-comparisons-avalanche"},{"type":"link","label":"Other Comparisons","href":"/docs/learn-comparisons","docId":"learn/learn-comparisons"},{"type":"link","label":"Layer Two and Rollups","href":"/docs/learn-comparisons-rollups","docId":"learn/learn-comparisons-rollups"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-comparisons-index"},{"type":"link","label":"Videos","href":"/docs/learn-video-tutorials","docId":"learn/learn-video-tutorials"},{"type":"category","label":"Future Implementations","description":"Implementations that will be deployed on Polkadot.","items":[{"type":"link","label":"SPREE","href":"/docs/learn-spree","docId":"learn/learn-spree"},{"type":"link","label":"Parathreads","href":"/docs/learn-parathreads","docId":"learn/learn-parathreads"},{"type":"link","label":"Asynchronous Backing","href":"/docs/learn-async-backing","docId":"learn/learn-async-backing"},{"type":"link","label":"SASSAFRAS","href":"/docs/learn-sassafras","docId":"learn/learn-sassafras"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-future-implementations-index"},{"type":"category","label":"Archive","description":"Implementations no longer live on Polkadot.","items":[{"type":"link","label":"Governance V1","href":"/docs/learn-governance","docId":"learn/learn-governance"},{"type":"link","label":"Gov1 Treasury","href":"/docs/learn-treasury","docId":"learn/learn-treasury"},{"type":"link","label":"Polkadot Launch Phases","href":"/docs/learn-launch","docId":"learn/learn-launch"},{"type":"link","label":"Redenomination of DOT","href":"/docs/learn-redenomination","docId":"learn/learn-redenomination"},{"type":"link","label":"Controller Accounts","href":"/docs/learn-controller","docId":"learn/learn-controller"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-archive-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-index"},{"type":"category","label":"Build","items":[{"type":"link","label":"Builder\'s Guides","href":"/docs/build-index","docId":"build/build-index"},{"type":"category","label":"Development Guide","items":[{"type":"link","label":"Builders Starter\'s Guide","href":"/docs/build-guide","docId":"build/build-guide"},{"type":"link","label":"Parachain Development","href":"/docs/build-pdk","docId":"build/build-parachains"},{"type":"link","label":"Decentralized Storage","href":"/docs/build-storage","docId":"build/build-storage"},{"type":"link","label":"Smart Contracts","href":"/docs/build-smart-contracts","docId":"build/build-smart-contracts"},{"type":"link","label":"Oracles","href":"/docs/build-oracle","docId":"build/build-oracle"},{"type":"link","label":"Data","href":"/docs/build-data","docId":"build/build-data"},{"type":"link","label":"Substrate Connect","href":"/docs/build-substrate","docId":"build/build-substrate"},{"type":"link","label":"SS58 Registry","href":"/docs/build-ss58-registry","docId":"build/build-ss58-registry"},{"type":"link","label":"Opening HRMP Channels","href":"/docs/build-hrmp-channels","docId":"build/build-hrmp-channels"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integration Guide","items":[{"type":"link","label":"Integration Initiation","href":"/docs/build-integration","docId":"build/build-integration"},{"type":"link","label":"Polkadot Protocol","href":"/docs/build-protocol-info","docId":"build/build-protocol-info"},{"type":"link","label":"Integrating Assets","href":"/docs/build-integrate-assets","docId":"build/build-integrate-assets"},{"type":"link","label":"Node Management","href":"/docs/build-node-management","docId":"build/build-node-management"},{"type":"link","label":"Node Interaction","href":"/docs/build-node-interaction","docId":"build/build-node-interaction"},{"type":"link","label":"Transaction Construction","href":"/docs/build-transaction-construction","docId":"build/build-transaction-construction"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tools","items":[{"type":"link","label":"Tool Index","href":"/docs/build-tools-index","docId":"build/build-tools-index"},{"type":"link","label":"Open Source Stack","href":"/docs/build-open-source","docId":"build/build-open-source"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Resources","items":[{"type":"link","label":"Hackathons","href":"/docs/build-hackathon","docId":"build/build-hackathon"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Maintain","items":[{"type":"link","label":"Network Maintainers","href":"/docs/maintain-index","docId":"maintain/maintain-index"},{"type":"link","label":"Parameters","href":"/docs/maintain-polkadot-parameters","docId":"maintain/maintain-polkadot-parameters"},{"type":"link","label":"Node Endpoints","href":"/docs/maintain-endpoints","docId":"maintain/maintain-endpoints"},{"type":"category","label":"Nodes and Dapps","items":[{"type":"link","label":"Set up a Full Node","href":"/docs/maintain-sync","docId":"maintain/maintain-sync"},{"type":"link","label":"Set up a Boot Node","href":"/docs/maintain-bootnode","docId":"maintain/maintain-bootnode"},{"type":"link","label":"Set up a RPC node","href":"/docs/maintain-rpc","docId":"maintain/maintain-rpc"},{"type":"link","label":"Secure the WebSocket","href":"/docs/maintain-wss","docId":"maintain/maintain-wss"},{"type":"link","label":"Networks","href":"/docs/maintain-networks","docId":"maintain/maintain-networks"},{"type":"link","label":"Resolving Errors","href":"/docs/maintain-errors","docId":"maintain/maintain-errors"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Nominator Guides","href":"/docs/maintain-guides-how-to-nominate-polkadot","docId":"maintain/maintain-guides-how-to-nominate-polkadot"},{"type":"category","label":"Validator Guides","items":[{"type":"link","label":"How to run a Validator on Polkadot","href":"/docs/maintain-guides-how-to-validate-polkadot","docId":"maintain/maintain-guides-how-to-validate-polkadot"},{"type":"link","label":"Validator Payout Overview","href":"/docs/maintain-guides-validator-payout","docId":"maintain/maintain-guides-validator-payout"},{"type":"link","label":"Using systemd for a Validator Node","href":"/docs/maintain-guides-how-to-systemd","docId":"maintain/maintain-guides-how-to-systemd"},{"type":"link","label":"Secure Validator","href":"/docs/maintain-guides-secure-validator","docId":"maintain/maintain-guides-secure-validator"},{"type":"link","label":"How to Upgrade Your Validator","href":"/docs/maintain-guides-how-to-upgrade","docId":"maintain/maintain-guides-how-to-upgrade"},{"type":"link","label":"Monitor your node","href":"/docs/maintain-guides-how-to-monitor-your-node","docId":"maintain/maintain-guides-how-to-monitor-your-node"},{"type":"link","label":"How to Chill","href":"/docs/maintain-guides-how-to-chill","docId":"maintain/maintain-guides-how-to-chill"},{"type":"link","label":"How to Stop Validating","href":"/docs/maintain-guides-how-to-stop-validating","docId":"maintain/maintain-guides-how-to-stop-validating"},{"type":"link","label":"Validator Community Overview","href":"/docs/maintain-guides-validator-community","docId":"maintain/doc-maintain-guides-validator-community"},{"type":"link","label":"Validator Best Practices","href":"/docs/maintain-guides-avoid-slashing","docId":"maintain/maintain-guides-avoid-slashing"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Governance Guides","items":[{"type":"link","label":"Participate in Democracy","href":"/docs/maintain-guides-democracy","docId":"maintain/maintain-guides-democracy"},{"type":"link","label":"Participate in Polkadot OpenGov","href":"/docs/maintain-guides-polkadot-opengov","docId":"maintain/maintain-guides-polkadot-opengov"},{"type":"link","label":"Join the Council","href":"/docs/maintain-guides-how-to-join-council","docId":"maintain/maintain-guides-how-to-join-council"},{"type":"link","label":"Voting for Councillors","href":"/docs/maintain-guides-how-to-vote-councillor","docId":"maintain/maintain-guides-how-to-vote-councillor"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}]},"docs":{"build/build-data":{"id":"build/build-data","title":"Data Analytics","description":"An overview about building with data analytics","sidebar":"docs"},"build/build-guide":{"id":"build/build-guide","title":"Builders Starter\'s Guide","description":"Start building with Polkadot/Kusama.","sidebar":"docs"},"build/build-hackathon":{"id":"build/build-hackathon","title":"Hackathons","description":"Join or host a Hackathon.","sidebar":"docs"},"build/build-hrmp-channels":{"id":"build/build-hrmp-channels","title":"Opening HRMP Channels","description":"Steps on how to open HRMP channels between parachains.","sidebar":"docs"},"build/build-index":{"id":"build/build-index","title":"Builder\'s Guides","description":"Reference point for the Polkadot builder guides.","sidebar":"docs"},"build/build-integrate-assets":{"id":"build/build-integrate-assets","title":"Assets on Polkadot","description":"Tools that you can use to integrating assets.","sidebar":"docs"},"build/build-integration":{"id":"build/build-integration","title":"Polkadot Integration Guide","description":"Reference point for the Polkadot integration guides.","sidebar":"docs"},"build/build-node-interaction":{"id":"build/build-node-interaction","title":"Node Interaction","description":"Tools for node interaction.","sidebar":"docs"},"build/build-node-management":{"id":"build/build-node-management","title":"Node Management","description":"Steps on how to manage your Polkadot node.","sidebar":"docs"},"build/build-open-source":{"id":"build/build-open-source","title":"Open Source Stack","description":"Overview of the open source Polkadot/Kusama Tech Stack","sidebar":"docs"},"build/build-oracle":{"id":"build/build-oracle","title":"Oracles","description":"Information about building with oracles.","sidebar":"docs"},"build/build-parachains":{"id":"build/build-parachains","title":"Parachain Development","description":"A guide on what it means to become a Parachain and the steps to do so.","sidebar":"docs"},"build/build-protocol-info":{"id":"build/build-protocol-info","title":"Polkadot Protocol Information","description":"Characteristics about the Polkadot protocol, and what you need to consider when building.","sidebar":"docs"},"build/build-smart-contracts":{"id":"build/build-smart-contracts","title":"Smart Contracts","description":"How smart contracts play their role in the Polkadot ecosystem.","sidebar":"docs"},"build/build-ss58-registry":{"id":"build/build-ss58-registry","title":"SS58 Registry","description":"Information about SS58 encoding.","sidebar":"docs"},"build/build-storage":{"id":"build/build-storage","title":"Decentralized Storage","description":"Information about building with decentralized storage.","sidebar":"docs"},"build/build-substrate":{"id":"build/build-substrate","title":"Substrate Connect","description":"Information about Substrate Connect.","sidebar":"docs"},"build/build-tools-index":{"id":"build/build-tools-index","title":"Tool Index","description":"Reference point for a list of tools to support your development.","sidebar":"docs"},"build/build-transaction-construction":{"id":"build/build-transaction-construction","title":"Transaction Construction and Signing","description":"Information about how transactions are constructed on Polkadot.","sidebar":"docs"},"general/ambassadors":{"id":"general/ambassadors","title":"Polkadot Ambassador Programme","description":"The Polkadot\'s Ambassador Program and How you can Participate in It.","sidebar":"docs"},"general/bug-bounty":{"id":"general/bug-bounty","title":"Bug Bounty Programme","description":"An Overview of How you can Help Catch Bugs.","sidebar":"docs"},"general/builders-program":{"id":"general/builders-program","title":"Substrate Builders Programme","description":"The Substrate Builders Program and How it can Support your Substrate Development.","sidebar":"docs"},"general/community":{"id":"general/community","title":"Community","description":"Connect and stay updated with the Polkadot Community.","sidebar":"docs"},"general/contributing":{"id":"general/contributing","title":"Contributing to the Polkadot Wiki","description":"Contribute to the Polkadot Wiki.","sidebar":"docs"},"general/contributors":{"id":"general/contributors","title":"Contributors","description":"Get to know your Wiki-slayers.","sidebar":"docs"},"general/dev-heroes":{"id":"general/dev-heroes","title":"Developer Heroes Programme","description":"More Power to Polkadot\'s Developers.","sidebar":"docs"},"general/doc-thousand-contributors":{"id":"general/doc-thousand-contributors","title":"Thousand Contributors Programme","description":"The Thousand Contributors Program and How it can Support your Contributions.","sidebar":"docs"},"general/doc-thousand-validators":{"id":"general/doc-thousand-validators","title":"Thousand Validators Programme","description":"The Thousand Validators Program and How it can Support your Validator Endeavors.","sidebar":"docs"},"general/faq":{"id":"general/faq","title":"Frequently Asked Questions (FAQs)","description":"FAQs to Help you Navigate on Polkadot.","sidebar":"docs"},"general/getting-started":{"id":"general/getting-started","title":"Getting Started","description":"Get started with Polkadot and Web3.","sidebar":"docs"},"general/glossary":{"id":"general/glossary","title":"Glossary","description":"Common Terms and Concepts in the Polkadot Ecosystem.","sidebar":"docs"},"general/grants":{"id":"general/grants","title":"Grants","description":"The Grant Programs in the Polkadot Ecosystem.","sidebar":"docs"},"general/how-to-dyor":{"id":"general/how-to-dyor","title":"How to Do Your Own Research (DYOR)","description":"Importance of Doing Your Own Research (DYOR).","sidebar":"docs"},"general/kusama/kusama-adversarial-cheatsheet":{"id":"general/kusama/kusama-adversarial-cheatsheet","title":"Adversarial Cheatsheet","description":"A cheatsheet to help you create chaos."},"general/kusama/kusama-bug-bounty":{"id":"general/kusama/kusama-bug-bounty","title":"Bug Bounty","description":"An overview of how you can help catch bugs."},"general/kusama/kusama-claims":{"id":"general/kusama/kusama-claims","title":"Kusama Claims","description":"Step-by-step guide on how to claim your KSM tokens."},"general/kusama/kusama-coc":{"id":"general/kusama/kusama-coc","title":"Kusama Code of Conduct","description":"Kusama\'s Code of Conduct to sustain chaos."},"general/kusama/kusama-community":{"id":"general/kusama/kusama-community","title":"Kusama Community","description":"Stay in-touch and keep up-to-date by interacting and engaging in the Kusama community."},"general/kusama/kusama-getting-started":{"id":"general/kusama/kusama-getting-started","title":"Interact with Kusama","description":"Reference point for Kusama content."},"general/kusama/kusama-index":{"id":"general/kusama/kusama-index","title":"Kusama","description":"Legacy link to Kusama Wiki document"},"general/kusama/kusama-parameters":{"id":"general/kusama/kusama-parameters","title":"Kusama Parameters","description":"Learn about common Kusama parameters"},"general/kusama/kusama-social-recovery":{"id":"general/kusama/kusama-social-recovery","title":"Social Recovery","description":"Steps on how to perform account recovery on Kusama."},"general/kusama/kusama-timeline":{"id":"general/kusama/kusama-timeline","title":"Kusama Timeline","description":"Stay up-to-date with the latest action on Kusama."},"general/ledger":{"id":"general/ledger","title":"Using the Polkadot & Kusama Ledger Applications","description":"Use the Polkadot Ledger Application.","sidebar":"docs"},"general/metadata":{"id":"general/metadata","title":"Metadata Explorer","description":"Visualize Metadata and related Documentation.","sidebar":"docs"},"general/polkadot-v1":{"id":"general/polkadot-v1","title":"Polkadot 1.0","description":"Polkadot\'s 1.0, Blockspace, Decentralization and Resilience.","sidebar":"docs"},"general/polkadot-vault":{"id":"general/polkadot-vault","title":"Polkadot Vault (formerly Parity Signer)","description":"Your old Smartphone as an Air-gapped Wallet.","sidebar":"docs"},"general/polkadotjs":{"id":"general/polkadotjs","title":"Polkadot-JS","description":"The Polkadot-JS Tool Collection.","sidebar":"docs"},"general/polkadotjs-ui":{"id":"general/polkadotjs-ui","title":"Polkadot-JS UI (Wallet)","description":"A Wallet for Power-users and Developers.","sidebar":"docs"},"general/research":{"id":"general/research","title":"Research Pages","description":"Latest Research Developments on Polkadot.","sidebar":"docs"},"general/scams":{"id":"general/scams","title":"How to Protect Yourself from Scams","description":"How to Protect yourself against Scams.","sidebar":"docs"},"general/staking-dashboard":{"id":"general/staking-dashboard","title":"Polkadot Staking Dashboard","description":"Everything about the Polkadot Staking Dashboard.","sidebar":"docs"},"general/start-building":{"id":"general/start-building","title":"Build on Polkadot","description":"Start Building with the Polkadot SDK.","sidebar":"docs"},"general/wallets-and-extensions":{"id":"general/wallets-and-extensions","title":"Wallets and Extensions","description":"An Overview of Wallets and Browser Extensions in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-account-abstraction":{"id":"learn/learn-account-abstraction","title":"Polkadot\'s Account Abstraction","description":"Polkadot\'s Native Account Abstraction.","sidebar":"docs"},"learn/learn-account-advanced":{"id":"learn/learn-account-advanced","title":"Polkadot Accounts In-Depth","description":"Advanced Concepts about Polkadot\'s Accounts.","sidebar":"docs"},"learn/learn-account-generation":{"id":"learn/learn-account-generation","title":"Account Generation","description":"Generate a Polkadot Basic Account.","sidebar":"docs"},"learn/learn-account-multisig":{"id":"learn/learn-account-multisig","title":"Multi-Signature Accounts","description":"Multi-signature Accounts on Polkadot.","sidebar":"docs"},"learn/learn-accounts":{"id":"learn/learn-accounts","title":"Polkadot Accounts","description":"Polkadot Accounts, Account Identity, and Account Reaping.","sidebar":"docs"},"learn/learn-architecture":{"id":"learn/learn-architecture","title":"Architecture","description":"Key Components to Polkadot\'s Architecture.","sidebar":"docs"},"learn/learn-assets":{"id":"learn/learn-assets","title":"Asset Hub","description":"Fungible Tokens and NFTs on Polkadot.","sidebar":"docs"},"learn/learn-async-backing":{"id":"learn/learn-async-backing","title":"Asynchronous Backing","description":"A brief overview of asynchronous backing, and how it affects Polkadot\'s scalability.","sidebar":"docs"},"learn/learn-auction":{"id":"learn/learn-auction","title":"Parachain Slot Auctions","description":"Polkadot\'s Parachain Slot Auction Mechanism.","sidebar":"docs"},"learn/learn-balance-transfers":{"id":"learn/learn-balance-transfers","title":"Balance Transfers","description":"Perform Balance Transfers between Accounts.","sidebar":"docs"},"learn/learn-bridges":{"id":"learn/learn-bridges","title":"Bridges","description":"Bridges and Examples of Common Bridges.","sidebar":"docs"},"learn/learn-collator":{"id":"learn/learn-collator","title":"Collator","description":"Role of Collators within the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-comparisons":{"id":"learn/learn-comparisons","title":"Polkadot Comparisons","description":"Comparison between Polkadot and ETH 1.0 and BSC.","sidebar":"docs"},"learn/learn-comparisons-avalanche":{"id":"learn/learn-comparisons-avalanche","title":"Polkadot vs. Avalanche","description":"Comparison between Polkadot and Avalanche.","sidebar":"docs"},"learn/learn-comparisons-cosmos":{"id":"learn/learn-comparisons-cosmos","title":"Polkadot vs. Cosmos","description":"Comparison between Polkadot and Cosmos.","sidebar":"docs"},"learn/learn-comparisons-ethereum-2":{"id":"learn/learn-comparisons-ethereum-2","title":"Polkadot vs. Ethereum","description":"Comparison between Polkadot and Ethereum.","sidebar":"docs"},"learn/learn-comparisons-kusama":{"id":"learn/learn-comparisons-kusama","title":"Polkadot vs. Kusama","description":"Comparing the cousins.","sidebar":"docs"},"learn/learn-comparisons-rollups":{"id":"learn/learn-comparisons-rollups","title":"Layer Two and Rollups","description":"Comparison between various Rollup and L2 Protocols.","sidebar":"docs"},"learn/learn-consensus":{"id":"learn/learn-consensus","title":"Polkadot Consensus","description":"The Consensus Mechanism of Polkadot.","sidebar":"docs"},"learn/learn-controller":{"id":"learn/learn-controller","title":"Controller Accounts","description":"Controller Accounts used in Staking.","sidebar":"docs"},"learn/learn-crowdloans":{"id":"learn/learn-crowdloans","title":"Parachain Crowdloans","description":"Polkadot\'s Crowdloans and How to Participate.","sidebar":"docs"},"learn/learn-cryptography":{"id":"learn/learn-cryptography","title":"Cryptography on Polkadot","description":"Cryptographic Functions used in Polkadot.","sidebar":"docs"},"learn/learn-DOT":{"id":"learn/learn-DOT","title":"DOT","description":"Tokenomics of Polkadot\'s Native Token DOT.","sidebar":"docs"},"learn/learn-extrinsics":{"id":"learn/learn-extrinsics","title":"Extrinsics (a.k.a. Types of Transactions)","description":"Types of Transactions on Polkadot.","sidebar":"docs"},"learn/learn-governance":{"id":"learn/learn-governance","title":"Governance V1","description":"Polkadot\'s First Governance Model.","sidebar":"docs"},"learn/learn-guides-assets-create":{"id":"learn/learn-guides-assets-create","title":"Creating Assets with the Asset Hub","description":"Advanced How-to Guides about Creating Assets.","sidebar":"docs"},"learn/learn-guides-assets-ledger":{"id":"learn/learn-guides-assets-ledger","title":"Using the Asset Hub Ledger App","description":"Advanced How-to Guides about Ledger and the Asset Hub.","sidebar":"docs"},"learn/learn-guides-identity":{"id":"learn/learn-guides-identity","title":"Identity How-to Guides","description":"Advanced How-to Guides about Identity - Registrars and Sub-Identity.","sidebar":"docs"},"learn/learn-guides-polkadot-opengov":{"id":"learn/learn-guides-polkadot-opengov","title":"Polkadot OpenGov How-to Guides","description":"Advanced How-to Guides about Polkadot OpenGov.","sidebar":"docs"},"learn/learn-guides-staking":{"id":"learn/learn-guides-staking","title":"How-to Guides for Nominators","description":"Advanced How-to Guides for Nominators.","sidebar":"docs"},"learn/learn-guides-staking-pools":{"id":"learn/learn-guides-staking-pools","title":"Nomination Pools How-to Guides","description":"Advanced How-to Guides about Nomination Pools.","sidebar":"docs"},"learn/learn-guides-treasury":{"id":"learn/learn-guides-treasury","title":"Polkadot Treasury How-to Guides","description":"Advanced How-to Guides about requesting funds from the Polkadot Treasury.","sidebar":"docs"},"learn/learn-guides-vault":{"id":"learn/learn-guides-vault","title":"Vault How-to Guides","description":"Advanced How-to Guides about Polkadot Vault.","sidebar":"docs"},"learn/learn-identity":{"id":"learn/learn-identity","title":"Account Identity","description":"On-chain Identity, Judgements and Registrars.","sidebar":"docs"},"learn/learn-implementations":{"id":"learn/learn-implementations","title":"Polkadot Implementations","description":"Learn about the different Polkadot implementations."},"learn/learn-inflation":{"id":"learn/learn-inflation","title":"Token Inflation","description":"Explanation of Token\'s Inflation in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-launch":{"id":"learn/learn-launch","title":"Polkadot Launch Phases","description":"Polkadot\'s Launch Process and its Individual Phases.","sidebar":"docs"},"learn/learn-nft":{"id":"learn/learn-nft","title":"NFTs","description":"The NFT Landscape of the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nft-pallets":{"id":"learn/learn-nft-pallets","title":"NFT Pallets","description":"Functionalities of the NFT Pallets in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nft-projects":{"id":"learn/learn-nft-projects","title":"NFT projects on Polkadot and Kusama","description":"NFT Projects in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nomination-pools":{"id":"learn/learn-nomination-pools","title":"Nomination Pools","description":"Staking through Polkadot\'s Nomination Pools.","sidebar":"docs"},"learn/learn-nominator":{"id":"learn/learn-nominator","title":"Nominator","description":"Role of Nominators in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-parachains":{"id":"learn/learn-parachains","title":"Parachains","description":"An Introduction to Polkadot\'s Parachains.","sidebar":"docs"},"learn/learn-parachains-faq":{"id":"learn/learn-parachains-faq","title":"Parachains FAQ","description":"Parachains FAQ.","sidebar":"docs"},"learn/learn-parachains-protocol":{"id":"learn/learn-parachains-protocol","title":"Parachains\' Protocol Overview","description":"Actors and Protocols involved in Polkadot and its Parachains\' Block Finality.","sidebar":"docs"},"learn/learn-parathreads":{"id":"learn/learn-parathreads","title":"Parathreads","description":"An Introductory Guide to Parathreads.","sidebar":"docs"},"learn/learn-phragmen":{"id":"learn/learn-phragmen","title":"NPoS Election Algorithms","description":"The Election Methods used in Polkadot\'s NPoS Mechanism.","sidebar":"docs"},"learn/learn-polkadot-host":{"id":"learn/learn-polkadot-host","title":"Polkadot Host (PH)","description":"The Polkadot Host and its Components.","sidebar":"docs"},"learn/learn-polkadot-opengov":{"id":"learn/learn-polkadot-opengov","title":"Polkadot OpenGov","description":"Polkadot\u2019s Latest Model for Decentralized Governance.","sidebar":"docs"},"learn/learn-polkadot-opengov-treasury":{"id":"learn/learn-polkadot-opengov-treasury","title":"Treasury","description":"Polkadot\'s On-chain Treasury.","sidebar":"docs"},"learn/learn-proxies":{"id":"learn/learn-proxies","title":"Proxy Accounts","description":"Proxy Accounts on Polkadot.","sidebar":"docs"},"learn/learn-proxies-pure":{"id":"learn/learn-proxies-pure","title":"Pure Proxy Accounts","description":"Pure Proxy Accounts on Polkadot.","sidebar":"docs"},"learn/learn-redenomination":{"id":"learn/learn-redenomination","title":"Redenomination of DOT","description":"Everything about the DOT Token Redenomination.","sidebar":"docs"},"learn/learn-runtime-upgrades":{"id":"learn/learn-runtime-upgrades","title":"Runtime Upgrades","description":"Forkless Runtime Upgrades on Polkadot.","sidebar":"docs"},"learn/learn-sassafras":{"id":"learn/learn-sassafras","title":"Polkadot Block Production: SASSAFRAS","description":"The Consensus Mechanism of Polkadot.","sidebar":"docs"},"learn/learn-spree":{"id":"learn/learn-spree","title":"SPREE","description":"Fundamentals of SPREE.","sidebar":"docs"},"learn/learn-staking":{"id":"learn/learn-staking","title":"Introduction to Staking","description":"Overview of Staking and NPoS on Polkadot.","sidebar":"docs"},"learn/learn-staking-advanced":{"id":"learn/learn-staking-advanced","title":"Advanced Staking Concepts","description":"Advanced Concepts about Staking on Polkadot.","sidebar":"docs"},"learn/learn-system-chains":{"id":"learn/learn-system-chains","title":"System Parachains","description":"System Parachains currently deployed on Polkadot.","sidebar":"docs"},"learn/learn-teleport":{"id":"learn/learn-teleport","title":"Teleporting Assets","description":"Teleport Assets between Parachains and Relay Chain.","sidebar":"docs"},"learn/learn-transaction-fees":{"id":"learn/learn-transaction-fees","title":"Transaction Fees","description":"How Transaction Fees are Calculated and Handled.","sidebar":"docs"},"learn/learn-treasury":{"id":"learn/learn-treasury","title":"Governance v1 Treasury","description":"The Polkadot\'s On-chain Treasury during Gov1.","sidebar":"docs"},"learn/learn-validator":{"id":"learn/learn-validator","title":"Validator","description":"Role of Validators within the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-video-tutorials":{"id":"learn/learn-video-tutorials","title":"Videos about Polkadot","description":"Videos about Polkadot and Related Topics.","sidebar":"docs"},"learn/learn-wasm":{"id":"learn/learn-wasm","title":"WebAssembly (Wasm)","description":"WASM and its Role in Polkadot\'s Runtime.","sidebar":"docs"},"learn/learn-xcm":{"id":"learn/learn-xcm","title":"Introduction to Cross-Consensus Message Format (XCM)","description":"XCM, The Messaging Format at the Forefront of Interoperability.","sidebar":"docs"},"learn/learn-xcm-instructions":{"id":"learn/learn-xcm-instructions","title":"XCM Instructions & Register Specification","description":"Specification for Instructions and Registers for the XCM Format.","sidebar":"docs"},"learn/learn-xcm-pallet":{"id":"learn/learn-xcm-pallet","title":"XCM FRAME Pallet Overview","description":"Mechanics of the XCM Pallet and its role in Polkadot\'s Ecosystem.","sidebar":"docs"},"learn/learn-xcm-transport":{"id":"learn/learn-xcm-transport","title":"XCM Transport Methods (XCMP, HRMP, VMP)","description":"Methods to send XCM Messages across Networks.","sidebar":"docs"},"learn/learn-xcm-usecases":{"id":"learn/learn-xcm-usecases","title":"XCM Use-cases & Examples","description":"Cross-consensus Interactions and the XCM Format.","sidebar":"docs"},"learn/learn-xcvm":{"id":"learn/learn-xcvm","title":"XCM Virtual Machine (XCVM) & XCM Executor","description":"Design of the XCM Executor and Mechanics of the XCM Virtual Machine.","sidebar":"docs"},"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive":{"id":"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive","title":"Executor Configuration","description":"Deep Dive into the Configuration of the XCM-Executor.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees","title":"Weight and Fees","description":"Weight and Fees in XCM.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset","title":"MultiAsset","description":"The MultiAsset Datatype.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary","title":"Fundamentals","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm","title":"XCVM","description":"Deep Dive into XCVM.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example","title":"Example","description":"A MultiLocation Example.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions","title":"Junction(s)","description":"The Junction Type in a MultiLocation Struct.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary","title":"MultiLocation","description":"Learn about XCM fundamentals.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-assets":{"id":"learn/xcm/journey/learn-xcm-docs-journey-assets","title":"Trap and Claim Assets","description":"Instructions to Trap and Claim Assets.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-channels":{"id":"learn/xcm/journey/learn-xcm-docs-journey-channels","title":"Channels and Bridges","description":"Establishment of HRMP Channels between Parachains.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-expectations":{"id":"learn/xcm/journey/learn-xcm-docs-journey-expectations","title":"Expectations","description":"Expect Instructions to Check if a Condition is Valid.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-fees":{"id":"learn/xcm/journey/learn-xcm-docs-journey-fees","title":"Fee Handling","description":"How Fees for XCM Transfers are Handled.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-holding":{"id":"learn/xcm/journey/learn-xcm-docs-journey-holding","title":"More Holding Modifiers","description":"More Instructions to Alter the Holding Register.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-origin":{"id":"learn/xcm/journey/learn-xcm-docs-journey-origin","title":"Origin Manipulation","description":"Manipulating the Origin of XCM.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-queries":{"id":"learn/xcm/journey/learn-xcm-docs-journey-queries","title":"Queries","description":"Query Information from another Consensus System.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-register":{"id":"learn/xcm/journey/learn-xcm-docs-journey-register","title":"Register Modifiers","description":"More Instructions to Change the XCVM Registers.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-summary":{"id":"learn/xcm/journey/learn-xcm-docs-journey-summary","title":"A Journey through XCM","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-transact":{"id":"learn/xcm/journey/learn-xcm-docs-journey-transact","title":"Transact","description":"The Transact Instruction to Execute XCM Calls.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-version":{"id":"learn/xcm/journey/learn-xcm-docs-journey-version","title":"Version Subscription","description":"Get Notified about XCM Version Updates.","sidebar":"docs"},"learn/xcm/journey/locks/learn-xcm-docs-journey-locks":{"id":"learn/xcm/journey/locks/learn-xcm-docs-journey-locks","title":"Locks","description":"Restrict Transfer or Withdrawal of Assets.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve","title":"Reserve-backed Transfers","description":"Reserve-backed Transfers: Third-party Reserve to store Assets.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary","title":"Transfers","description":"Summary about XCM Transfers.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport","title":"Asset Teleportation","description":"Teleportation: Sending Assets Across Chains.","sidebar":"docs"},"learn/xcm/learn-xcm-docs-intro":{"id":"learn/xcm/learn-xcm-docs-intro","title":"XCM: Cross-Consensus Messaging","description":"Introduction to the XCM Documentation.","sidebar":"docs"},"learn/xcm/learn-xcm-docs-testing":{"id":"learn/xcm/learn-xcm-docs-testing","title":"Testing","description":"Testing XCM-powered Solutions.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-architecture":{"id":"learn/xcm/overview/learn-xcm-docs-overview-architecture","title":"The XCM Architecture","description":"The XCM Architecture.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-format":{"id":"learn/xcm/overview/learn-xcm-docs-overview-format","title":"XCM is a Format, not a Protocol","description":"XCM is a Format, not a Protocol.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-intro":{"id":"learn/xcm/overview/learn-xcm-docs-overview-intro","title":"Introduction","description":"An Introduction to XCM.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-summary":{"id":"learn/xcm/overview/learn-xcm-docs-overview-summary","title":"XCM: Cross-Consensus Messaging","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-xcvm":{"id":"learn/xcm/overview/learn-xcm-docs-overview-xcvm","title":"The XCVM","description":"The Cross-Consensus Virtual Machine.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look","title":"First Look at an XCM","description":"First Look at an XCM.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator","title":"XCM Simulator","description":"Test XCM using a Simulated Environment.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary","title":"Quickstart","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/reference/learn-xcm-docs-reference-glossary":{"id":"learn/xcm/reference/learn-xcm-docs-reference-glossary","title":"Glossary","description":"Glossary.","sidebar":"docs"},"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers":{"id":"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers","title":"All XCVM Registers","description":"All XCVM Registers.","sidebar":"docs"},"maintain/doc-maintain-guides-validator-community":{"id":"maintain/doc-maintain-guides-validator-community","title":"Validator Community Overview","description":"An extensive guide to help you start and build a validator community.","sidebar":"docs"},"maintain/kusama/maintain-guides-how-to-nominate-kusama":{"id":"maintain/kusama/maintain-guides-how-to-nominate-kusama","title":"Become a Nominator on Kusama","description":"Steps on how to nominate on Kusama."},"maintain/kusama/maintain-guides-how-to-validate-kusama":{"id":"maintain/kusama/maintain-guides-how-to-validate-kusama","title":"Run a Validator (Kusama)","description":"The fundamentals for running a Kusama validator."},"maintain/kusama/maintain-guides-society-kusama":{"id":"maintain/kusama/maintain-guides-society-kusama","title":"Kappa Sigma Mu","description":"Learn about the Kappa Sigma Mu society and join as a member."},"maintain/maintain-bootnode":{"id":"maintain/maintain-bootnode","title":"Set up a Boot Node","description":"Steps on setting up a boot node.","sidebar":"docs"},"maintain/maintain-endpoints":{"id":"maintain/maintain-endpoints","title":"Node Endpoints","description":"List of node endpoints and examples of use.","sidebar":"docs"},"maintain/maintain-errors":{"id":"maintain/maintain-errors","title":"Errors and How to Resolve Them","description":"Common errors you might encounter and how they can be resolved.","sidebar":"docs"},"maintain/maintain-guides-avoid-slashing":{"id":"maintain/maintain-guides-avoid-slashing","title":"Validator Best Practices","description":"Best practices to avoid slashing.","sidebar":"docs"},"maintain/maintain-guides-democracy":{"id":"maintain/maintain-guides-democracy","title":"Participate in Democracy","description":"Steps on how to participate in democracy.","sidebar":"docs"},"maintain/maintain-guides-how-to-chill":{"id":"maintain/maintain-guides-how-to-chill","title":"How to Chill","description":"Steps on chilling as a network participant.","sidebar":"docs"},"maintain/maintain-guides-how-to-join-council":{"id":"maintain/maintain-guides-how-to-join-council","title":"Join the Council","description":"Steps on how to join the official on-chain council.","sidebar":"docs"},"maintain/maintain-guides-how-to-monitor-your-node":{"id":"maintain/maintain-guides-how-to-monitor-your-node","title":"Monitor your node","description":"This guide will walk you through how to set up Prometheus with","sidebar":"docs"},"maintain/maintain-guides-how-to-nominate-polkadot":{"id":"maintain/maintain-guides-how-to-nominate-polkadot","title":"Become a Nominator on Polkadot","description":"Steps on how to nominate on Polkadot.","sidebar":"docs"},"maintain/maintain-guides-how-to-stop-validating":{"id":"maintain/maintain-guides-how-to-stop-validating","title":"How to Stop Validating","description":"Steps on how to stop validating.","sidebar":"docs"},"maintain/maintain-guides-how-to-systemd":{"id":"maintain/maintain-guides-how-to-systemd","title":"Using systemd for a Validator Node","description":"Using a service manager for your validator node.","sidebar":"docs"},"maintain/maintain-guides-how-to-upgrade":{"id":"maintain/maintain-guides-how-to-upgrade","title":"How to Upgrade Your Validator","description":"Validators perform critical functions for the network, and as such, have strict uptime requirements.","sidebar":"docs"},"maintain/maintain-guides-how-to-validate-polkadot":{"id":"maintain/maintain-guides-how-to-validate-polkadot","title":"Run a Validator (Polkadot)","description":"The fundamentals for running a Polkadot validator.","sidebar":"docs"},"maintain/maintain-guides-how-to-vote-councillor":{"id":"maintain/maintain-guides-how-to-vote-councillor","title":"Voting for Councillors","description":"Steps on how to vote for councillors.","sidebar":"docs"},"maintain/maintain-guides-polkadot-opengov":{"id":"maintain/maintain-guides-polkadot-opengov","title":"Participate in Polkadot OpenGov","description":"Steps on how to participate in OpenGov.","sidebar":"docs"},"maintain/maintain-guides-secure-validator":{"id":"maintain/maintain-guides-secure-validator","title":"Secure Validator","description":"Tips for running a secure validator.","sidebar":"docs"},"maintain/maintain-guides-validator-payout":{"id":"maintain/maintain-guides-validator-payout","title":"Validator Payout Overview","description":"How validator payout works on the network and what you should expect.","sidebar":"docs"},"maintain/maintain-index":{"id":"maintain/maintain-index","title":"Network Maintainers","description":"Reference point for network maintenance guides.","sidebar":"docs"},"maintain/maintain-networks":{"id":"maintain/maintain-networks","title":"Networks","description":"Information about the different networks of the Polkadot ecosystem.","sidebar":"docs"},"maintain/maintain-polkadot-parameters":{"id":"maintain/maintain-polkadot-parameters","title":"Polkadot Parameters","description":"A description about fundamental Polkadot parameters.","sidebar":"docs"},"maintain/maintain-rpc":{"id":"maintain/maintain-rpc","title":"Set up a RPC node","description":"Steps on setting up a RPC node.","sidebar":"docs"},"maintain/maintain-sync":{"id":"maintain/maintain-sync","title":"Set up a Full Node","description":"Steps on how to set up a full node.","sidebar":"docs"},"maintain/maintain-wss":{"id":"maintain/maintain-wss","title":"Secure the WebSocket","description":"Steps on setting up a secure socket for remote connections.","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.445e8d6e.js b/assets/js/935f2afb.445e8d6e.js new file mode 100644 index 000000000000..c845ee0d1c3e --- /dev/null +++ b/assets/js/935f2afb.445e8d6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53],{22624:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"Learn","items":[{"type":"category","label":"General","description":"General Information to get started with Polkadot and Web3.","items":[{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"general/getting-started"},{"type":"category","label":"Polkadot Vision","description":"Polkadot\'s Vision revealed by Gavin Wood at Decoded 2023.","items":[{"type":"link","label":"Polkadot 1.0","href":"/docs/polkadot-v1","docId":"general/polkadot-v1"},{"type":"link","label":"Polkadot Direction","href":"/docs/polkadot-direction","docId":"general/polkadot-direction"}],"collapsed":true,"collapsible":true,"href":"/docs/polkadot-vision-index"},{"type":"category","label":"Stay Safe","description":"Good-practices to Stay Safe while Surfing in Web3.","items":[{"type":"link","label":"Scam Protection","href":"/docs/learn-scams","docId":"general/scams"},{"type":"link","label":"Do Your Own Research","href":"/docs/how-to-dyor","docId":"general/how-to-dyor"}],"collapsed":true,"collapsible":true,"href":"/docs/stay-safe-index"},{"type":"category","label":"Wallets","description":"Wallet Options in the Polkadot Ecosystem.","items":[{"type":"link","label":"Wallets and Extensions","href":"/docs/wallets-and-extensions","docId":"general/wallets-and-extensions"},{"type":"link","label":"Ledger","href":"/docs/ledger","docId":"general/ledger"},{"type":"link","label":"Polkadot Vault","href":"/docs/polkadot-vault","docId":"general/polkadot-vault"},{"type":"link","label":"Polkadot-JS UI","href":"/docs/polkadotjs-ui","docId":"general/polkadotjs-ui"}],"collapsed":true,"collapsible":true,"href":"/docs/wallets-index"},{"type":"category","label":"Dashboards","description":"Dashboards in the Polkadot Ecosystem.","items":[{"type":"link","label":"Staking Dashboard","href":"/docs/staking-dashboard","docId":"general/staking-dashboard"}],"collapsed":true,"collapsible":true,"href":"/docs/dashboards-index"},{"type":"link","label":"Polkadot-JS","href":"/docs/polkadotjs","docId":"general/polkadotjs"},{"type":"category","label":"Community & Contributors","description":"Polkadot Community and Wiki Contributors.","items":[{"type":"link","label":"Community","href":"/docs/community","docId":"general/community"},{"type":"link","label":"Contributing to the Wiki","href":"/docs/contributing","docId":"general/contributing"},{"type":"link","label":"Contributors","href":"/docs/contributors","docId":"general/contributors"}],"collapsed":true,"collapsible":true,"href":"/docs/community-index"},{"type":"category","label":"Programmes","description":"Programmes and Initiatives within the Polkadot Ecosystem.","items":[{"type":"link","label":"Grants","href":"/docs/grants","docId":"general/grants"},{"type":"link","label":"Bug Bounty","href":"/docs/bug-bounty","docId":"general/bug-bounty"},{"type":"link","label":"Polkadot Ambassadors","href":"/docs/ambassadors","docId":"general/ambassadors"},{"type":"link","label":"Substrate Builders","href":"/docs/builders-program","docId":"general/builders-program"},{"type":"link","label":"Thousand Validators","href":"/docs/thousand-validators","docId":"general/doc-thousand-validators"},{"type":"link","label":"Thousand Contributors","href":"/docs/thousand-contributors","docId":"general/doc-thousand-contributors"},{"type":"link","label":"Developer Heroes","href":"/docs/dev-heroes","docId":"general/dev-heroes"}],"collapsed":true,"collapsible":true,"href":"/docs/programmes-index"},{"type":"link","label":"Build on Polkadot","href":"/docs/start-building","docId":"general/start-building"},{"type":"link","label":"Research Pages","href":"/docs/research","docId":"general/research"},{"type":"link","label":"Metadata Explorer","href":"/docs/metadata","docId":"general/metadata"},{"type":"link","label":"FAQ","href":"/docs/faq","docId":"general/faq"},{"type":"link","label":"Glossary","href":"/docs/glossary","docId":"general/glossary"}],"collapsed":true,"collapsible":true,"href":"/docs/general-index"},{"type":"category","label":"Basics","description":"Staking, Accounts, Transactions, Tokens and NFTs, and Governance.","items":[{"type":"category","label":"Accounts","description":"Basic Accounts, Identity, Multi-signature, and Proxies.","items":[{"type":"link","label":"Polkadot Accounts","href":"/docs/learn-accounts","docId":"learn/learn-accounts"},{"type":"link","label":"Account Generation","href":"/docs/learn-account-generation","docId":"learn/learn-account-generation"},{"type":"link","label":"Account Abstraction","href":"/docs/learn-account-abstraction","docId":"learn/learn-account-abstraction"},{"type":"link","label":"Account Identity","href":"/docs/learn-identity","docId":"learn/learn-identity"},{"type":"link","label":"Multi-Signature Accounts","href":"/docs/learn-account-multisig","docId":"learn/learn-account-multisig"},{"type":"link","label":"Proxy Accounts","href":"/docs/learn-proxies","docId":"learn/learn-proxies"},{"type":"link","label":"Pure Proxy Accounts","href":"/docs/learn-proxies-pure","docId":"learn/learn-proxies-pure"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-accounts-index"},{"type":"category","label":"Transactions","description":"Extrinsics, Balance Transfers, and Fees.","items":[{"type":"link","label":"Extrinsics","href":"/docs/learn-extrinsics","docId":"learn/learn-extrinsics"},{"type":"link","label":"Balances Transfers","href":"/docs/learn-balance-transfers","docId":"learn/learn-balance-transfers"},{"type":"link","label":"Transaction Fees","href":"/docs/learn-transaction-fees","docId":"learn/learn-transaction-fees"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-transactions-index"},{"type":"category","label":"Tokens and Assets","description":"DOT Token, Asset Hub, and Teleports.","items":[{"type":"link","label":"Asset Hub","href":"/docs/learn-assets","docId":"learn/learn-assets"},{"type":"link","label":"DOT","href":"/docs/learn-DOT","docId":"learn/learn-DOT"},{"type":"link","label":"Token Inflation","href":"/docs/learn-inflation","docId":"learn/learn-inflation"},{"type":"link","label":"Teleporting Assets","href":"/docs/learn-teleport","docId":"learn/learn-teleport"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-assets-index"},{"type":"category","label":"NFTs","description":"Intro to NFTs and NFT Projects.","items":[{"type":"link","label":"Introduction to NFTs","href":"/docs/learn-nft","docId":"learn/learn-nft"},{"type":"link","label":"NFT Projects","href":"/docs/learn-nft-projects","docId":"learn/learn-nft-projects"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-nft-index"},{"type":"category","label":"Components","description":"OpenGov, Treasury, WASM, Runtime Upgrades, and more.","items":[{"type":"link","label":"Polkadot Host","href":"/docs/learn-polkadot-host","docId":"learn/learn-polkadot-host"},{"type":"link","label":"WebAssembly (Wasm)","href":"/docs/learn-wasm","docId":"learn/learn-wasm"},{"type":"link","label":"Runtime Upgrades","href":"/docs/learn-runtime-upgrades","docId":"learn/learn-runtime-upgrades"},{"type":"link","label":"Polkadot OpenGov","href":"/docs/learn-polkadot-opengov","docId":"learn/learn-polkadot-opengov"},{"type":"link","label":"Treasury","href":"/docs/learn-polkadot-opengov-treasury","docId":"learn/learn-polkadot-opengov-treasury"},{"type":"link","label":"Consensus","href":"/docs/learn-consensus","docId":"learn/learn-consensus"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-components-index"},{"type":"category","label":"Staking","description":"Staking Philosophy and Mechanics.","items":[{"type":"link","label":"Introduction to Staking","href":"/docs/learn-staking","docId":"learn/learn-staking"},{"type":"link","label":"Nomination Pools","href":"/docs/learn-nomination-pools","docId":"learn/learn-nomination-pools"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-staking-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-basics-index"},{"type":"category","label":"Advanced","description":"Advanced Concepts & Guides about Accounts, Staking, and NFTs.","items":[{"type":"link","label":"Accounts","href":"/docs/learn-account-advanced","docId":"learn/learn-account-advanced"},{"type":"link","label":"Advanced Staking Concepts","href":"/docs/learn-staking-advanced","docId":"learn/learn-staking-advanced"},{"type":"link","label":"NFT Pallets","href":"/docs/learn-nft-pallets","docId":"learn/learn-nft-pallets"},{"type":"link","label":"Cryptography","href":"/docs/learn-cryptography","docId":"learn/learn-cryptography"},{"type":"link","label":"NPoS Election Algorithms","href":"/docs/learn-phragmen","docId":"learn/learn-phragmen"},{"type":"category","label":"How-to Guides","description":"Advanced Guides about Staking, Asset Hub, Vault App, and more.","items":[{"type":"category","label":"Staking","description":"Advanced How-to Guides about Staking.","items":[{"type":"link","label":"Staking","href":"/docs/learn-guides-staking","docId":"learn/learn-guides-staking"},{"type":"link","label":"Nomination Pools","href":"/docs/learn-guides-staking-pools","docId":"learn/learn-guides-staking-pools"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-staking-index"},{"type":"link","label":"OpenGov","href":"/docs/learn-guides-polkadot-opengov","docId":"learn/learn-guides-polkadot-opengov"},{"type":"link","label":"Treasury","href":"/docs/learn-guides-treasury","docId":"learn/learn-guides-treasury"},{"type":"link","label":"Identity","href":"/docs/learn-guides-identity","docId":"learn/learn-guides-identity"},{"type":"category","label":"Asset Hub","description":"Advanced How-to Guides about the Asset Hub.","items":[{"type":"link","label":"Creating Assets","href":"/docs/learn-guides-assets-create","docId":"learn/learn-guides-assets-create"},{"type":"link","label":"Asset Hub Ledger App","href":"/docs/learn-guides-assets-ledger","docId":"learn/learn-guides-assets-ledger"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-assets-index"},{"type":"link","label":"Polkadot Vault","href":"/docs/learn-guides-vault","docId":"learn/learn-guides-vault"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-guides-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-advanced-index"},{"type":"category","label":"Architecture","description":"Nominators, Validators, Collators, Parachains, and more.","items":[{"type":"link","label":"Architecture","href":"/docs/learn-architecture","docId":"learn/learn-architecture"},{"type":"category","label":"Network Participants","description":"Participants in the Polkadot Ecosystem.","items":[{"type":"link","label":"Collator","href":"/docs/learn-collator","docId":"learn/learn-collator"},{"type":"link","label":"Nominator","href":"/docs/learn-nominator","docId":"learn/learn-nominator"},{"type":"link","label":"Validator","href":"/docs/learn-validator","docId":"learn/learn-validator"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-participants-index"},{"type":"category","label":"Parachains","description":"Parachains\' Protocol, Auctions, Crowdloans, and more.","items":[{"type":"link","label":"Introduction to Parachains","href":"/docs/learn-parachains","docId":"learn/learn-parachains"},{"type":"link","label":"Protocol Overview","href":"/docs/learn-parachains-protocol","docId":"learn/learn-parachains-protocol"},{"type":"link","label":"System Parachains","href":"/docs/learn-system-chains","docId":"learn/learn-system-chains"},{"type":"link","label":"Parachain Slot Auctions","href":"/docs/learn-auction","docId":"learn/learn-auction"},{"type":"link","label":"Parachain Crowdloans","href":"/docs/learn-crowdloans","docId":"learn/learn-crowdloans"},{"type":"link","label":"Parachains FAQ","href":"/docs/learn-parachains-faq","docId":"learn/learn-parachains-faq"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-parachains-index"},{"type":"link","label":"Bridges","href":"/docs/learn-bridges","docId":"learn/learn-bridges"},{"type":"category","label":"Cross Consensus Messaging (XCM)","description":"Polkadot\'s Cross-Consensus Messaging Format (XCM).","items":[{"type":"link","label":"Cross-Consensus Message Format (XCM)","href":"/docs/learn-xcm","docId":"learn/learn-xcm"},{"type":"link","label":"XCM Pallet","href":"/docs/learn-xcm-pallet","docId":"learn/learn-xcm-pallet"},{"type":"link","label":"XCM Use-cases","href":"/docs/learn-xcm-usecases","docId":"learn/learn-xcm-usecases"},{"type":"link","label":"XCM Transport","href":"/docs/learn-xcm-transport","docId":"learn/learn-xcm-transport"},{"type":"link","label":"XCM Virtual Machine (XCVM)","href":"/docs/learn-xcvm","docId":"learn/learn-xcvm"},{"type":"link","label":"XCM Instructions","href":"/docs/learn-xcm-instructions","docId":"learn/learn-xcm-instructions"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-xcm-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-architecture-index"},{"type":"category","label":"XCM Docs","description":"In-depth documentation about the Polkadot\'s Cross-Chain Messaging (XCM).","items":[{"type":"link","label":"XCM: Cross-Consensus Messaging","href":"/docs/learn/xcm/introduction","docId":"learn/xcm/learn-xcm-docs-intro"},{"type":"category","label":"Overview","description":"Overview of the XCM Documentation.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/overview-summary","docId":"learn/xcm/overview/learn-xcm-docs-overview-summary"},{"type":"link","label":"Introduction","href":"/docs/learn/xcm/overview-intro","docId":"learn/xcm/overview/learn-xcm-docs-overview-intro"},{"type":"link","label":"A Format, not a Protocol","href":"/docs/learn/xcm/overview-format","docId":"learn/xcm/overview/learn-xcm-docs-overview-format"},{"type":"link","label":"The XCVM","href":"/docs/learn/xcm/overview-xcvm","docId":"learn/xcm/overview/learn-xcm-docs-overview-xcvm"},{"type":"link","label":"Architecture","href":"/docs/learn/xcm/overview-architecture","docId":"learn/xcm/overview/learn-xcm-docs-overview-architecture"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/overview"},{"type":"category","label":"Quickstart","description":"Start Diving into XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/quickstart-summary","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary"},{"type":"link","label":"XCM Simulator","href":"/docs/learn/xcm/quickstart-simulator","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator"},{"type":"link","label":"First Look at an XCM","href":"/docs/learn/xcm/quickstart-first-look","docId":"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/quickstart"},{"type":"category","label":"Fundamentals","description":"Fundamental Concepts about XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/fundamentals-summary","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary"},{"type":"category","label":"MultiLocation","description":"The MultiLocation Type.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/fundamentals/multilocation-summary","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary"},{"type":"link","label":"Junction(s)","href":"/docs/learn/xcm/fundamentals/multilocation-junctions","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions"},{"type":"link","label":"Example","href":"/docs/learn/xcm/fundamentals/multilocation-example","docId":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/fundamentals/multilocation"},{"type":"link","label":"MultiAsset","href":"/docs/learn/xcm/fundamentals-multiasset","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset"},{"type":"link","label":"XCVM","href":"/docs/learn/xcm/fundamentals-xcvm","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm"},{"type":"link","label":"Weight and Fees","href":"/docs/learn/xcm/fundamentals-fees","docId":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/fundamentals"},{"type":"category","label":"A Journey through XCM","description":"A Practical Introduction to the XCM Features","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/journey-summary","docId":"learn/xcm/journey/learn-xcm-docs-journey-summary"},{"type":"category","label":"Transfers","description":"Transferring Assets between Consensus Systems with XCM.","items":[{"type":"link","label":"Summary","href":"/docs/learn/xcm/journey/transfers-summary","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary"},{"type":"link","label":"Asset Teleportation","href":"/docs/learn/xcm/journey/transfers-teleport","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport"},{"type":"link","label":"Reserve-backed Transfers","href":"/docs/learn/xcm/journey/transfers-reserve","docId":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/journey/transfers"},{"type":"link","label":"Fee Handling","href":"/docs/learn/xcm/journey-fees","docId":"learn/xcm/journey/learn-xcm-docs-journey-fees"},{"type":"link","label":"Transact: A General Solution","href":"/docs/learn/xcm/journey-transact","docId":"learn/xcm/journey/learn-xcm-docs-journey-transact"},{"type":"link","label":"Origin Manipulation","href":"/docs/learn/xcm/journey-origin","docId":"learn/xcm/journey/learn-xcm-docs-journey-origin"},{"type":"link","label":"More Register Modifiers","href":"/docs/learn/xcm/journey-register","docId":"learn/xcm/journey/learn-xcm-docs-journey-register"},{"type":"link","label":"More Holding Modifiers","href":"/docs/learn/xcm/journey-holding","docId":"learn/xcm/journey/learn-xcm-docs-journey-holding"},{"type":"link","label":"Trap and Claim Assets","href":"/docs/learn/xcm/journey-assets","docId":"learn/xcm/journey/learn-xcm-docs-journey-assets"},{"type":"link","label":"Expectations","href":"/docs/learn/xcm/journey-expectations","docId":"learn/xcm/journey/learn-xcm-docs-journey-expectations"},{"type":"link","label":"Queries","href":"/docs/learn/xcm/journey-queries","docId":"learn/xcm/journey/learn-xcm-docs-journey-queries"},{"type":"link","label":"Version Subscription","href":"/docs/learn/xcm/journey-version","docId":"learn/xcm/journey/learn-xcm-docs-journey-version"},{"type":"link","label":"Locks","href":"/docs/learn/xcm/journey-locks","docId":"learn/xcm/journey/locks/learn-xcm-docs-journey-locks"},{"type":"link","label":"Channels and Bridges","href":"/docs/learn/xcm/journey-channels","docId":"learn/xcm/journey/learn-xcm-docs-journey-channels"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/journey"},{"type":"link","label":"Executor Configuration","href":"/docs/learn/xcm/config-deep-dive","docId":"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive"},{"type":"link","label":"Testing","href":"/docs/learn/xcm/testing","docId":"learn/xcm/learn-xcm-docs-testing"},{"type":"category","label":"References","description":"XCVM Registers and Glossary","items":[{"type":"link","label":"All XCVM Registers","href":"/docs/learn/xcm/reference-xcvm-registers","docId":"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers"},{"type":"link","label":"Glossary","href":"/docs/learn/xcm/reference-glossary","docId":"learn/xcm/reference/learn-xcm-docs-reference-glossary"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm/references"}],"collapsed":true,"collapsible":true,"href":"/docs/learn/xcm"},{"type":"category","label":"Polkadot Comparisons","description":"Comparison between Polkadot and other Networks. ","items":[{"type":"link","label":"Kusama","href":"/docs/learn-comparisons-kusama","docId":"learn/learn-comparisons-kusama"},{"type":"link","label":"Ethereum","href":"/docs/learn-comparisons-ethereum-2","docId":"learn/learn-comparisons-ethereum-2"},{"type":"link","label":"Cosmos","href":"/docs/learn-comparisons-cosmos","docId":"learn/learn-comparisons-cosmos"},{"type":"link","label":"Avalanche","href":"/docs/learn-comparisons-avalanche","docId":"learn/learn-comparisons-avalanche"},{"type":"link","label":"Other Comparisons","href":"/docs/learn-comparisons","docId":"learn/learn-comparisons"},{"type":"link","label":"Layer Two and Rollups","href":"/docs/learn-comparisons-rollups","docId":"learn/learn-comparisons-rollups"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-comparisons-index"},{"type":"link","label":"Videos","href":"/docs/learn-video-tutorials","docId":"learn/learn-video-tutorials"},{"type":"category","label":"Future Implementations","description":"Implementations that will be deployed on Polkadot.","items":[{"type":"link","label":"SPREE","href":"/docs/learn-spree","docId":"learn/learn-spree"},{"type":"link","label":"Parathreads","href":"/docs/learn-parathreads","docId":"learn/learn-parathreads"},{"type":"link","label":"Asynchronous Backing","href":"/docs/learn-async-backing","docId":"learn/learn-async-backing"},{"type":"link","label":"SASSAFRAS","href":"/docs/learn-sassafras","docId":"learn/learn-sassafras"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-future-implementations-index"},{"type":"category","label":"Archive","description":"Implementations no longer live on Polkadot.","items":[{"type":"link","label":"Governance V1","href":"/docs/learn-governance","docId":"learn/learn-governance"},{"type":"link","label":"Gov1 Treasury","href":"/docs/learn-treasury","docId":"learn/learn-treasury"},{"type":"link","label":"Polkadot Launch Phases","href":"/docs/learn-launch","docId":"learn/learn-launch"},{"type":"link","label":"Redenomination of DOT","href":"/docs/learn-redenomination","docId":"learn/learn-redenomination"},{"type":"link","label":"Controller Accounts","href":"/docs/learn-controller","docId":"learn/learn-controller"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-archive-index"}],"collapsed":true,"collapsible":true,"href":"/docs/learn-index"},{"type":"category","label":"Build","items":[{"type":"link","label":"Builder\'s Guides","href":"/docs/build-index","docId":"build/build-index"},{"type":"category","label":"Development Guide","items":[{"type":"link","label":"Builders Starter\'s Guide","href":"/docs/build-guide","docId":"build/build-guide"},{"type":"link","label":"Parachain Development","href":"/docs/build-pdk","docId":"build/build-parachains"},{"type":"link","label":"Decentralized Storage","href":"/docs/build-storage","docId":"build/build-storage"},{"type":"link","label":"Smart Contracts","href":"/docs/build-smart-contracts","docId":"build/build-smart-contracts"},{"type":"link","label":"Oracles","href":"/docs/build-oracle","docId":"build/build-oracle"},{"type":"link","label":"Data","href":"/docs/build-data","docId":"build/build-data"},{"type":"link","label":"Substrate Connect","href":"/docs/build-substrate","docId":"build/build-substrate"},{"type":"link","label":"SS58 Registry","href":"/docs/build-ss58-registry","docId":"build/build-ss58-registry"},{"type":"link","label":"Opening HRMP Channels","href":"/docs/build-hrmp-channels","docId":"build/build-hrmp-channels"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integration Guide","items":[{"type":"link","label":"Integration Initiation","href":"/docs/build-integration","docId":"build/build-integration"},{"type":"link","label":"Polkadot Protocol","href":"/docs/build-protocol-info","docId":"build/build-protocol-info"},{"type":"link","label":"Integrating Assets","href":"/docs/build-integrate-assets","docId":"build/build-integrate-assets"},{"type":"link","label":"Node Management","href":"/docs/build-node-management","docId":"build/build-node-management"},{"type":"link","label":"Node Interaction","href":"/docs/build-node-interaction","docId":"build/build-node-interaction"},{"type":"link","label":"Transaction Construction","href":"/docs/build-transaction-construction","docId":"build/build-transaction-construction"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tools","items":[{"type":"link","label":"Tool Index","href":"/docs/build-tools-index","docId":"build/build-tools-index"},{"type":"link","label":"Open Source Stack","href":"/docs/build-open-source","docId":"build/build-open-source"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Resources","items":[{"type":"link","label":"Hackathons","href":"/docs/build-hackathon","docId":"build/build-hackathon"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Maintain","items":[{"type":"link","label":"Network Maintainers","href":"/docs/maintain-index","docId":"maintain/maintain-index"},{"type":"link","label":"Parameters","href":"/docs/maintain-polkadot-parameters","docId":"maintain/maintain-polkadot-parameters"},{"type":"link","label":"Node Endpoints","href":"/docs/maintain-endpoints","docId":"maintain/maintain-endpoints"},{"type":"category","label":"Nodes and Dapps","items":[{"type":"link","label":"Set up a Full Node","href":"/docs/maintain-sync","docId":"maintain/maintain-sync"},{"type":"link","label":"Set up a Boot Node","href":"/docs/maintain-bootnode","docId":"maintain/maintain-bootnode"},{"type":"link","label":"Set up a RPC node","href":"/docs/maintain-rpc","docId":"maintain/maintain-rpc"},{"type":"link","label":"Secure the WebSocket","href":"/docs/maintain-wss","docId":"maintain/maintain-wss"},{"type":"link","label":"Networks","href":"/docs/maintain-networks","docId":"maintain/maintain-networks"},{"type":"link","label":"Resolving Errors","href":"/docs/maintain-errors","docId":"maintain/maintain-errors"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Nominator Guides","href":"/docs/maintain-guides-how-to-nominate-polkadot","docId":"maintain/maintain-guides-how-to-nominate-polkadot"},{"type":"category","label":"Validator Guides","items":[{"type":"link","label":"How to run a Validator on Polkadot","href":"/docs/maintain-guides-how-to-validate-polkadot","docId":"maintain/maintain-guides-how-to-validate-polkadot"},{"type":"link","label":"Validator Payout Overview","href":"/docs/maintain-guides-validator-payout","docId":"maintain/maintain-guides-validator-payout"},{"type":"link","label":"Using systemd for a Validator Node","href":"/docs/maintain-guides-how-to-systemd","docId":"maintain/maintain-guides-how-to-systemd"},{"type":"link","label":"Secure Validator","href":"/docs/maintain-guides-secure-validator","docId":"maintain/maintain-guides-secure-validator"},{"type":"link","label":"How to Upgrade Your Validator","href":"/docs/maintain-guides-how-to-upgrade","docId":"maintain/maintain-guides-how-to-upgrade"},{"type":"link","label":"Monitor your node","href":"/docs/maintain-guides-how-to-monitor-your-node","docId":"maintain/maintain-guides-how-to-monitor-your-node"},{"type":"link","label":"How to Chill","href":"/docs/maintain-guides-how-to-chill","docId":"maintain/maintain-guides-how-to-chill"},{"type":"link","label":"How to Stop Validating","href":"/docs/maintain-guides-how-to-stop-validating","docId":"maintain/maintain-guides-how-to-stop-validating"},{"type":"link","label":"Validator Community Overview","href":"/docs/maintain-guides-validator-community","docId":"maintain/doc-maintain-guides-validator-community"},{"type":"link","label":"Validator Best Practices","href":"/docs/maintain-guides-avoid-slashing","docId":"maintain/maintain-guides-avoid-slashing"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Governance Guides","items":[{"type":"link","label":"Participate in Democracy","href":"/docs/maintain-guides-democracy","docId":"maintain/maintain-guides-democracy"},{"type":"link","label":"Participate in Polkadot OpenGov","href":"/docs/maintain-guides-polkadot-opengov","docId":"maintain/maintain-guides-polkadot-opengov"},{"type":"link","label":"Join the Council","href":"/docs/maintain-guides-how-to-join-council","docId":"maintain/maintain-guides-how-to-join-council"},{"type":"link","label":"Voting for Councillors","href":"/docs/maintain-guides-how-to-vote-councillor","docId":"maintain/maintain-guides-how-to-vote-councillor"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}]},"docs":{"build/build-data":{"id":"build/build-data","title":"Data Analytics","description":"An overview about building with data analytics","sidebar":"docs"},"build/build-guide":{"id":"build/build-guide","title":"Builders Starter\'s Guide","description":"Start building with Polkadot/Kusama.","sidebar":"docs"},"build/build-hackathon":{"id":"build/build-hackathon","title":"Hackathons","description":"Join or host a Hackathon.","sidebar":"docs"},"build/build-hrmp-channels":{"id":"build/build-hrmp-channels","title":"Opening HRMP Channels","description":"Steps on how to open HRMP channels between parachains.","sidebar":"docs"},"build/build-index":{"id":"build/build-index","title":"Builder\'s Guides","description":"Reference point for the Polkadot builder guides.","sidebar":"docs"},"build/build-integrate-assets":{"id":"build/build-integrate-assets","title":"Assets on Polkadot","description":"Tools that you can use to integrating assets.","sidebar":"docs"},"build/build-integration":{"id":"build/build-integration","title":"Polkadot Integration Guide","description":"Reference point for the Polkadot integration guides.","sidebar":"docs"},"build/build-node-interaction":{"id":"build/build-node-interaction","title":"Node Interaction","description":"Tools for node interaction.","sidebar":"docs"},"build/build-node-management":{"id":"build/build-node-management","title":"Node Management","description":"Steps on how to manage your Polkadot node.","sidebar":"docs"},"build/build-open-source":{"id":"build/build-open-source","title":"Open Source Stack","description":"Overview of the open source Polkadot/Kusama Tech Stack","sidebar":"docs"},"build/build-oracle":{"id":"build/build-oracle","title":"Oracles","description":"Information about building with oracles.","sidebar":"docs"},"build/build-parachains":{"id":"build/build-parachains","title":"Parachain Development","description":"A guide on what it means to become a Parachain and the steps to do so.","sidebar":"docs"},"build/build-protocol-info":{"id":"build/build-protocol-info","title":"Polkadot Protocol Information","description":"Characteristics about the Polkadot protocol, and what you need to consider when building.","sidebar":"docs"},"build/build-smart-contracts":{"id":"build/build-smart-contracts","title":"Smart Contracts","description":"How smart contracts play their role in the Polkadot ecosystem.","sidebar":"docs"},"build/build-ss58-registry":{"id":"build/build-ss58-registry","title":"SS58 Registry","description":"Information about SS58 encoding.","sidebar":"docs"},"build/build-storage":{"id":"build/build-storage","title":"Decentralized Storage","description":"Information about building with decentralized storage.","sidebar":"docs"},"build/build-substrate":{"id":"build/build-substrate","title":"Substrate Connect","description":"Information about Substrate Connect.","sidebar":"docs"},"build/build-tools-index":{"id":"build/build-tools-index","title":"Tool Index","description":"Reference point for a list of tools to support your development.","sidebar":"docs"},"build/build-transaction-construction":{"id":"build/build-transaction-construction","title":"Transaction Construction and Signing","description":"Information about how transactions are constructed on Polkadot.","sidebar":"docs"},"general/ambassadors":{"id":"general/ambassadors","title":"Polkadot Ambassador Programme","description":"The Polkadot\'s Ambassador Program and How you can Participate in It.","sidebar":"docs"},"general/bug-bounty":{"id":"general/bug-bounty","title":"Bug Bounty Programme","description":"An Overview of How you can Help Catch Bugs.","sidebar":"docs"},"general/builders-program":{"id":"general/builders-program","title":"Substrate Builders Programme","description":"The Substrate Builders Program and How it can Support your Substrate Development.","sidebar":"docs"},"general/community":{"id":"general/community","title":"Community","description":"Connect and stay updated with the Polkadot Community.","sidebar":"docs"},"general/contributing":{"id":"general/contributing","title":"Contributing to the Polkadot Wiki","description":"Contribute to the Polkadot Wiki.","sidebar":"docs"},"general/contributors":{"id":"general/contributors","title":"Contributors","description":"Get to know your Wiki-slayers.","sidebar":"docs"},"general/dev-heroes":{"id":"general/dev-heroes","title":"Developer Heroes Programme","description":"More Power to Polkadot\'s Developers.","sidebar":"docs"},"general/doc-thousand-contributors":{"id":"general/doc-thousand-contributors","title":"Thousand Contributors Programme","description":"The Thousand Contributors Program and How it can Support your Contributions.","sidebar":"docs"},"general/doc-thousand-validators":{"id":"general/doc-thousand-validators","title":"Thousand Validators Programme","description":"The Thousand Validators Program and How it can Support your Validator Endeavors.","sidebar":"docs"},"general/faq":{"id":"general/faq","title":"Frequently Asked Questions (FAQs)","description":"FAQs to Help you Navigate on Polkadot.","sidebar":"docs"},"general/getting-started":{"id":"general/getting-started","title":"Getting Started","description":"Get started with Polkadot and Web3.","sidebar":"docs"},"general/glossary":{"id":"general/glossary","title":"Glossary","description":"Common Terms and Concepts in the Polkadot Ecosystem.","sidebar":"docs"},"general/grants":{"id":"general/grants","title":"Grants","description":"The Grant Programs in the Polkadot Ecosystem.","sidebar":"docs"},"general/how-to-dyor":{"id":"general/how-to-dyor","title":"How to Do Your Own Research (DYOR)","description":"Importance of Doing Your Own Research (DYOR).","sidebar":"docs"},"general/kusama/kusama-adversarial-cheatsheet":{"id":"general/kusama/kusama-adversarial-cheatsheet","title":"Adversarial Cheatsheet","description":"A cheatsheet to help you create chaos."},"general/kusama/kusama-bug-bounty":{"id":"general/kusama/kusama-bug-bounty","title":"Bug Bounty","description":"An overview of how you can help catch bugs."},"general/kusama/kusama-claims":{"id":"general/kusama/kusama-claims","title":"Kusama Claims","description":"Step-by-step guide on how to claim your KSM tokens."},"general/kusama/kusama-coc":{"id":"general/kusama/kusama-coc","title":"Kusama Code of Conduct","description":"Kusama\'s Code of Conduct to sustain chaos."},"general/kusama/kusama-community":{"id":"general/kusama/kusama-community","title":"Kusama Community","description":"Stay in-touch and keep up-to-date by interacting and engaging in the Kusama community."},"general/kusama/kusama-getting-started":{"id":"general/kusama/kusama-getting-started","title":"Interact with Kusama","description":"Reference point for Kusama content."},"general/kusama/kusama-index":{"id":"general/kusama/kusama-index","title":"Kusama","description":"Legacy link to Kusama Wiki document"},"general/kusama/kusama-parameters":{"id":"general/kusama/kusama-parameters","title":"Kusama Parameters","description":"Learn about common Kusama parameters"},"general/kusama/kusama-social-recovery":{"id":"general/kusama/kusama-social-recovery","title":"Social Recovery","description":"Steps on how to perform account recovery on Kusama."},"general/kusama/kusama-timeline":{"id":"general/kusama/kusama-timeline","title":"Kusama Timeline","description":"Stay up-to-date with the latest action on Kusama."},"general/ledger":{"id":"general/ledger","title":"Using the Polkadot & Kusama Ledger Applications","description":"Use the Polkadot Ledger Application.","sidebar":"docs"},"general/metadata":{"id":"general/metadata","title":"Metadata Explorer","description":"Visualize Metadata and related Documentation.","sidebar":"docs"},"general/polkadot-direction":{"id":"general/polkadot-direction","title":"Polkadot Direction","description":"Polkadot as a Decentralized and Secure Ubiquitous Computer.","sidebar":"docs"},"general/polkadot-v1":{"id":"general/polkadot-v1","title":"Polkadot 1.0","description":"Polkadot\'s 1.0, Blockspace, Decentralization and Resilience.","sidebar":"docs"},"general/polkadot-vault":{"id":"general/polkadot-vault","title":"Polkadot Vault (formerly Parity Signer)","description":"Your old Smartphone as an Air-gapped Wallet.","sidebar":"docs"},"general/polkadotjs":{"id":"general/polkadotjs","title":"Polkadot-JS","description":"The Polkadot-JS Tool Collection.","sidebar":"docs"},"general/polkadotjs-ui":{"id":"general/polkadotjs-ui","title":"Polkadot-JS UI (Wallet)","description":"A Wallet for Power-users and Developers.","sidebar":"docs"},"general/research":{"id":"general/research","title":"Research Pages","description":"Latest Research Developments on Polkadot.","sidebar":"docs"},"general/scams":{"id":"general/scams","title":"How to Protect Yourself from Scams","description":"How to Protect yourself against Scams.","sidebar":"docs"},"general/staking-dashboard":{"id":"general/staking-dashboard","title":"Polkadot Staking Dashboard","description":"Everything about the Polkadot Staking Dashboard.","sidebar":"docs"},"general/start-building":{"id":"general/start-building","title":"Build on Polkadot","description":"Start Building with the Polkadot SDK.","sidebar":"docs"},"general/wallets-and-extensions":{"id":"general/wallets-and-extensions","title":"Wallets and Extensions","description":"An Overview of Wallets and Browser Extensions in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-account-abstraction":{"id":"learn/learn-account-abstraction","title":"Polkadot\'s Account Abstraction","description":"Polkadot\'s Native Account Abstraction.","sidebar":"docs"},"learn/learn-account-advanced":{"id":"learn/learn-account-advanced","title":"Polkadot Accounts In-Depth","description":"Advanced Concepts about Polkadot\'s Accounts.","sidebar":"docs"},"learn/learn-account-generation":{"id":"learn/learn-account-generation","title":"Account Generation","description":"Generate a Polkadot Basic Account.","sidebar":"docs"},"learn/learn-account-multisig":{"id":"learn/learn-account-multisig","title":"Multi-Signature Accounts","description":"Multi-signature Accounts on Polkadot.","sidebar":"docs"},"learn/learn-accounts":{"id":"learn/learn-accounts","title":"Polkadot Accounts","description":"Polkadot Accounts, Account Identity, and Account Reaping.","sidebar":"docs"},"learn/learn-architecture":{"id":"learn/learn-architecture","title":"Architecture","description":"Key Components to Polkadot\'s Architecture.","sidebar":"docs"},"learn/learn-assets":{"id":"learn/learn-assets","title":"Asset Hub","description":"Fungible Tokens and NFTs on Polkadot.","sidebar":"docs"},"learn/learn-async-backing":{"id":"learn/learn-async-backing","title":"Asynchronous Backing","description":"A brief overview of asynchronous backing, and how it affects Polkadot\'s scalability.","sidebar":"docs"},"learn/learn-auction":{"id":"learn/learn-auction","title":"Parachain Slot Auctions","description":"Polkadot\'s Parachain Slot Auction Mechanism.","sidebar":"docs"},"learn/learn-balance-transfers":{"id":"learn/learn-balance-transfers","title":"Balance Transfers","description":"Perform Balance Transfers between Accounts.","sidebar":"docs"},"learn/learn-bridges":{"id":"learn/learn-bridges","title":"Bridges","description":"Bridges and Examples of Common Bridges.","sidebar":"docs"},"learn/learn-collator":{"id":"learn/learn-collator","title":"Collator","description":"Role of Collators within the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-comparisons":{"id":"learn/learn-comparisons","title":"Polkadot Comparisons","description":"Comparison between Polkadot and ETH 1.0 and BSC.","sidebar":"docs"},"learn/learn-comparisons-avalanche":{"id":"learn/learn-comparisons-avalanche","title":"Polkadot vs. Avalanche","description":"Comparison between Polkadot and Avalanche.","sidebar":"docs"},"learn/learn-comparisons-cosmos":{"id":"learn/learn-comparisons-cosmos","title":"Polkadot vs. Cosmos","description":"Comparison between Polkadot and Cosmos.","sidebar":"docs"},"learn/learn-comparisons-ethereum-2":{"id":"learn/learn-comparisons-ethereum-2","title":"Polkadot vs. Ethereum","description":"Comparison between Polkadot and Ethereum.","sidebar":"docs"},"learn/learn-comparisons-kusama":{"id":"learn/learn-comparisons-kusama","title":"Polkadot vs. Kusama","description":"Comparing the cousins.","sidebar":"docs"},"learn/learn-comparisons-rollups":{"id":"learn/learn-comparisons-rollups","title":"Layer Two and Rollups","description":"Comparison between various Rollup and L2 Protocols.","sidebar":"docs"},"learn/learn-consensus":{"id":"learn/learn-consensus","title":"Polkadot Consensus","description":"The Consensus Mechanism of Polkadot.","sidebar":"docs"},"learn/learn-controller":{"id":"learn/learn-controller","title":"Controller Accounts","description":"Controller Accounts used in Staking.","sidebar":"docs"},"learn/learn-crowdloans":{"id":"learn/learn-crowdloans","title":"Parachain Crowdloans","description":"Polkadot\'s Crowdloans and How to Participate.","sidebar":"docs"},"learn/learn-cryptography":{"id":"learn/learn-cryptography","title":"Cryptography on Polkadot","description":"Cryptographic Functions used in Polkadot.","sidebar":"docs"},"learn/learn-DOT":{"id":"learn/learn-DOT","title":"DOT","description":"Tokenomics of Polkadot\'s Native Token DOT.","sidebar":"docs"},"learn/learn-extrinsics":{"id":"learn/learn-extrinsics","title":"Extrinsics (a.k.a. Types of Transactions)","description":"Types of Transactions on Polkadot.","sidebar":"docs"},"learn/learn-governance":{"id":"learn/learn-governance","title":"Governance V1","description":"Polkadot\'s First Governance Model.","sidebar":"docs"},"learn/learn-guides-assets-create":{"id":"learn/learn-guides-assets-create","title":"Creating Assets with the Asset Hub","description":"Advanced How-to Guides about Creating Assets.","sidebar":"docs"},"learn/learn-guides-assets-ledger":{"id":"learn/learn-guides-assets-ledger","title":"Using the Asset Hub Ledger App","description":"Advanced How-to Guides about Ledger and the Asset Hub.","sidebar":"docs"},"learn/learn-guides-identity":{"id":"learn/learn-guides-identity","title":"Identity How-to Guides","description":"Advanced How-to Guides about Identity - Registrars and Sub-Identity.","sidebar":"docs"},"learn/learn-guides-polkadot-opengov":{"id":"learn/learn-guides-polkadot-opengov","title":"Polkadot OpenGov How-to Guides","description":"Advanced How-to Guides about Polkadot OpenGov.","sidebar":"docs"},"learn/learn-guides-staking":{"id":"learn/learn-guides-staking","title":"How-to Guides for Nominators","description":"Advanced How-to Guides for Nominators.","sidebar":"docs"},"learn/learn-guides-staking-pools":{"id":"learn/learn-guides-staking-pools","title":"Nomination Pools How-to Guides","description":"Advanced How-to Guides about Nomination Pools.","sidebar":"docs"},"learn/learn-guides-treasury":{"id":"learn/learn-guides-treasury","title":"Polkadot Treasury How-to Guides","description":"Advanced How-to Guides about requesting funds from the Polkadot Treasury.","sidebar":"docs"},"learn/learn-guides-vault":{"id":"learn/learn-guides-vault","title":"Vault How-to Guides","description":"Advanced How-to Guides about Polkadot Vault.","sidebar":"docs"},"learn/learn-identity":{"id":"learn/learn-identity","title":"Account Identity","description":"On-chain Identity, Judgements and Registrars.","sidebar":"docs"},"learn/learn-implementations":{"id":"learn/learn-implementations","title":"Polkadot Implementations","description":"Learn about the different Polkadot implementations."},"learn/learn-inflation":{"id":"learn/learn-inflation","title":"Token Inflation","description":"Explanation of Token\'s Inflation in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-launch":{"id":"learn/learn-launch","title":"Polkadot Launch Phases","description":"Polkadot\'s Launch Process and its Individual Phases.","sidebar":"docs"},"learn/learn-nft":{"id":"learn/learn-nft","title":"NFTs","description":"The NFT Landscape of the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nft-pallets":{"id":"learn/learn-nft-pallets","title":"NFT Pallets","description":"Functionalities of the NFT Pallets in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nft-projects":{"id":"learn/learn-nft-projects","title":"NFT projects on Polkadot and Kusama","description":"NFT Projects in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-nomination-pools":{"id":"learn/learn-nomination-pools","title":"Nomination Pools","description":"Staking through Polkadot\'s Nomination Pools.","sidebar":"docs"},"learn/learn-nominator":{"id":"learn/learn-nominator","title":"Nominator","description":"Role of Nominators in the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-parachains":{"id":"learn/learn-parachains","title":"Parachains","description":"An Introduction to Polkadot\'s Parachains.","sidebar":"docs"},"learn/learn-parachains-faq":{"id":"learn/learn-parachains-faq","title":"Parachains FAQ","description":"Parachains FAQ.","sidebar":"docs"},"learn/learn-parachains-protocol":{"id":"learn/learn-parachains-protocol","title":"Parachains\' Protocol Overview","description":"Actors and Protocols involved in Polkadot and its Parachains\' Block Finality.","sidebar":"docs"},"learn/learn-parathreads":{"id":"learn/learn-parathreads","title":"Parathreads","description":"An Introductory Guide to Parathreads.","sidebar":"docs"},"learn/learn-phragmen":{"id":"learn/learn-phragmen","title":"NPoS Election Algorithms","description":"The Election Methods used in Polkadot\'s NPoS Mechanism.","sidebar":"docs"},"learn/learn-polkadot-host":{"id":"learn/learn-polkadot-host","title":"Polkadot Host (PH)","description":"The Polkadot Host and its Components.","sidebar":"docs"},"learn/learn-polkadot-opengov":{"id":"learn/learn-polkadot-opengov","title":"Polkadot OpenGov","description":"Polkadot\u2019s Latest Model for Decentralized Governance.","sidebar":"docs"},"learn/learn-polkadot-opengov-treasury":{"id":"learn/learn-polkadot-opengov-treasury","title":"Treasury","description":"Polkadot\'s On-chain Treasury.","sidebar":"docs"},"learn/learn-proxies":{"id":"learn/learn-proxies","title":"Proxy Accounts","description":"Proxy Accounts on Polkadot.","sidebar":"docs"},"learn/learn-proxies-pure":{"id":"learn/learn-proxies-pure","title":"Pure Proxy Accounts","description":"Pure Proxy Accounts on Polkadot.","sidebar":"docs"},"learn/learn-redenomination":{"id":"learn/learn-redenomination","title":"Redenomination of DOT","description":"Everything about the DOT Token Redenomination.","sidebar":"docs"},"learn/learn-runtime-upgrades":{"id":"learn/learn-runtime-upgrades","title":"Runtime Upgrades","description":"Forkless Runtime Upgrades on Polkadot.","sidebar":"docs"},"learn/learn-sassafras":{"id":"learn/learn-sassafras","title":"Polkadot Block Production: SASSAFRAS","description":"The Consensus Mechanism of Polkadot.","sidebar":"docs"},"learn/learn-spree":{"id":"learn/learn-spree","title":"SPREE","description":"Fundamentals of SPREE.","sidebar":"docs"},"learn/learn-staking":{"id":"learn/learn-staking","title":"Introduction to Staking","description":"Overview of Staking and NPoS on Polkadot.","sidebar":"docs"},"learn/learn-staking-advanced":{"id":"learn/learn-staking-advanced","title":"Advanced Staking Concepts","description":"Advanced Concepts about Staking on Polkadot.","sidebar":"docs"},"learn/learn-system-chains":{"id":"learn/learn-system-chains","title":"System Parachains","description":"System Parachains currently deployed on Polkadot.","sidebar":"docs"},"learn/learn-teleport":{"id":"learn/learn-teleport","title":"Teleporting Assets","description":"Teleport Assets between Parachains and Relay Chain.","sidebar":"docs"},"learn/learn-transaction-fees":{"id":"learn/learn-transaction-fees","title":"Transaction Fees","description":"How Transaction Fees are Calculated and Handled.","sidebar":"docs"},"learn/learn-treasury":{"id":"learn/learn-treasury","title":"Governance v1 Treasury","description":"The Polkadot\'s On-chain Treasury during Gov1.","sidebar":"docs"},"learn/learn-validator":{"id":"learn/learn-validator","title":"Validator","description":"Role of Validators within the Polkadot Ecosystem.","sidebar":"docs"},"learn/learn-video-tutorials":{"id":"learn/learn-video-tutorials","title":"Videos about Polkadot","description":"Videos about Polkadot and Related Topics.","sidebar":"docs"},"learn/learn-wasm":{"id":"learn/learn-wasm","title":"WebAssembly (Wasm)","description":"WASM and its Role in Polkadot\'s Runtime.","sidebar":"docs"},"learn/learn-xcm":{"id":"learn/learn-xcm","title":"Introduction to Cross-Consensus Message Format (XCM)","description":"XCM, The Messaging Format at the Forefront of Interoperability.","sidebar":"docs"},"learn/learn-xcm-instructions":{"id":"learn/learn-xcm-instructions","title":"XCM Instructions & Register Specification","description":"Specification for Instructions and Registers for the XCM Format.","sidebar":"docs"},"learn/learn-xcm-pallet":{"id":"learn/learn-xcm-pallet","title":"XCM FRAME Pallet Overview","description":"Mechanics of the XCM Pallet and its role in Polkadot\'s Ecosystem.","sidebar":"docs"},"learn/learn-xcm-transport":{"id":"learn/learn-xcm-transport","title":"XCM Transport Methods (XCMP, HRMP, VMP)","description":"Methods to send XCM Messages across Networks.","sidebar":"docs"},"learn/learn-xcm-usecases":{"id":"learn/learn-xcm-usecases","title":"XCM Use-cases & Examples","description":"Cross-consensus Interactions and the XCM Format.","sidebar":"docs"},"learn/learn-xcvm":{"id":"learn/learn-xcvm","title":"XCM Virtual Machine (XCVM) & XCM Executor","description":"Design of the XCM Executor and Mechanics of the XCM Virtual Machine.","sidebar":"docs"},"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive":{"id":"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive","title":"Executor Configuration","description":"Deep Dive into the Configuration of the XCM-Executor.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees","title":"Weight and Fees","description":"Weight and Fees in XCM.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset","title":"MultiAsset","description":"The MultiAsset Datatype.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary","title":"Fundamentals","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm":{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm","title":"XCVM","description":"Deep Dive into XCVM.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example","title":"Example","description":"A MultiLocation Example.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions","title":"Junction(s)","description":"The Junction Type in a MultiLocation Struct.","sidebar":"docs"},"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary":{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary","title":"MultiLocation","description":"Learn about XCM fundamentals.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-assets":{"id":"learn/xcm/journey/learn-xcm-docs-journey-assets","title":"Trap and Claim Assets","description":"Instructions to Trap and Claim Assets.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-channels":{"id":"learn/xcm/journey/learn-xcm-docs-journey-channels","title":"Channels and Bridges","description":"Establishment of HRMP Channels between Parachains.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-expectations":{"id":"learn/xcm/journey/learn-xcm-docs-journey-expectations","title":"Expectations","description":"Expect Instructions to Check if a Condition is Valid.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-fees":{"id":"learn/xcm/journey/learn-xcm-docs-journey-fees","title":"Fee Handling","description":"How Fees for XCM Transfers are Handled.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-holding":{"id":"learn/xcm/journey/learn-xcm-docs-journey-holding","title":"More Holding Modifiers","description":"More Instructions to Alter the Holding Register.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-origin":{"id":"learn/xcm/journey/learn-xcm-docs-journey-origin","title":"Origin Manipulation","description":"Manipulating the Origin of XCM.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-queries":{"id":"learn/xcm/journey/learn-xcm-docs-journey-queries","title":"Queries","description":"Query Information from another Consensus System.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-register":{"id":"learn/xcm/journey/learn-xcm-docs-journey-register","title":"Register Modifiers","description":"More Instructions to Change the XCVM Registers.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-summary":{"id":"learn/xcm/journey/learn-xcm-docs-journey-summary","title":"A Journey through XCM","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-transact":{"id":"learn/xcm/journey/learn-xcm-docs-journey-transact","title":"Transact","description":"The Transact Instruction to Execute XCM Calls.","sidebar":"docs"},"learn/xcm/journey/learn-xcm-docs-journey-version":{"id":"learn/xcm/journey/learn-xcm-docs-journey-version","title":"Version Subscription","description":"Get Notified about XCM Version Updates.","sidebar":"docs"},"learn/xcm/journey/locks/learn-xcm-docs-journey-locks":{"id":"learn/xcm/journey/locks/learn-xcm-docs-journey-locks","title":"Locks","description":"Restrict Transfer or Withdrawal of Assets.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve","title":"Reserve-backed Transfers","description":"Reserve-backed Transfers: Third-party Reserve to store Assets.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary","title":"Transfers","description":"Summary about XCM Transfers.","sidebar":"docs"},"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport":{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport","title":"Asset Teleportation","description":"Teleportation: Sending Assets Across Chains.","sidebar":"docs"},"learn/xcm/learn-xcm-docs-intro":{"id":"learn/xcm/learn-xcm-docs-intro","title":"XCM: Cross-Consensus Messaging","description":"Introduction to the XCM Documentation.","sidebar":"docs"},"learn/xcm/learn-xcm-docs-testing":{"id":"learn/xcm/learn-xcm-docs-testing","title":"Testing","description":"Testing XCM-powered Solutions.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-architecture":{"id":"learn/xcm/overview/learn-xcm-docs-overview-architecture","title":"The XCM Architecture","description":"The XCM Architecture.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-format":{"id":"learn/xcm/overview/learn-xcm-docs-overview-format","title":"XCM is a Format, not a Protocol","description":"XCM is a Format, not a Protocol.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-intro":{"id":"learn/xcm/overview/learn-xcm-docs-overview-intro","title":"Introduction","description":"An Introduction to XCM.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-summary":{"id":"learn/xcm/overview/learn-xcm-docs-overview-summary","title":"XCM: Cross-Consensus Messaging","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/overview/learn-xcm-docs-overview-xcvm":{"id":"learn/xcm/overview/learn-xcm-docs-overview-xcvm","title":"The XCVM","description":"The Cross-Consensus Virtual Machine.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look","title":"First Look at an XCM","description":"First Look at an XCM.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator","title":"XCM Simulator","description":"Test XCM using a Simulated Environment.","sidebar":"docs"},"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary":{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary","title":"Quickstart","description":"Summary of the Chapter.","sidebar":"docs"},"learn/xcm/reference/learn-xcm-docs-reference-glossary":{"id":"learn/xcm/reference/learn-xcm-docs-reference-glossary","title":"Glossary","description":"Glossary.","sidebar":"docs"},"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers":{"id":"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers","title":"All XCVM Registers","description":"All XCVM Registers.","sidebar":"docs"},"maintain/doc-maintain-guides-validator-community":{"id":"maintain/doc-maintain-guides-validator-community","title":"Validator Community Overview","description":"An extensive guide to help you start and build a validator community.","sidebar":"docs"},"maintain/kusama/maintain-guides-how-to-nominate-kusama":{"id":"maintain/kusama/maintain-guides-how-to-nominate-kusama","title":"Become a Nominator on Kusama","description":"Steps on how to nominate on Kusama."},"maintain/kusama/maintain-guides-how-to-validate-kusama":{"id":"maintain/kusama/maintain-guides-how-to-validate-kusama","title":"Run a Validator (Kusama)","description":"The fundamentals for running a Kusama validator."},"maintain/kusama/maintain-guides-society-kusama":{"id":"maintain/kusama/maintain-guides-society-kusama","title":"Kappa Sigma Mu","description":"Learn about the Kappa Sigma Mu society and join as a member."},"maintain/maintain-bootnode":{"id":"maintain/maintain-bootnode","title":"Set up a Boot Node","description":"Steps on setting up a boot node.","sidebar":"docs"},"maintain/maintain-endpoints":{"id":"maintain/maintain-endpoints","title":"Node Endpoints","description":"List of node endpoints and examples of use.","sidebar":"docs"},"maintain/maintain-errors":{"id":"maintain/maintain-errors","title":"Errors and How to Resolve Them","description":"Common errors you might encounter and how they can be resolved.","sidebar":"docs"},"maintain/maintain-guides-avoid-slashing":{"id":"maintain/maintain-guides-avoid-slashing","title":"Validator Best Practices","description":"Best practices to avoid slashing.","sidebar":"docs"},"maintain/maintain-guides-democracy":{"id":"maintain/maintain-guides-democracy","title":"Participate in Democracy","description":"Steps on how to participate in democracy.","sidebar":"docs"},"maintain/maintain-guides-how-to-chill":{"id":"maintain/maintain-guides-how-to-chill","title":"How to Chill","description":"Steps on chilling as a network participant.","sidebar":"docs"},"maintain/maintain-guides-how-to-join-council":{"id":"maintain/maintain-guides-how-to-join-council","title":"Join the Council","description":"Steps on how to join the official on-chain council.","sidebar":"docs"},"maintain/maintain-guides-how-to-monitor-your-node":{"id":"maintain/maintain-guides-how-to-monitor-your-node","title":"Monitor your node","description":"This guide will walk you through how to set up Prometheus with","sidebar":"docs"},"maintain/maintain-guides-how-to-nominate-polkadot":{"id":"maintain/maintain-guides-how-to-nominate-polkadot","title":"Become a Nominator on Polkadot","description":"Steps on how to nominate on Polkadot.","sidebar":"docs"},"maintain/maintain-guides-how-to-stop-validating":{"id":"maintain/maintain-guides-how-to-stop-validating","title":"How to Stop Validating","description":"Steps on how to stop validating.","sidebar":"docs"},"maintain/maintain-guides-how-to-systemd":{"id":"maintain/maintain-guides-how-to-systemd","title":"Using systemd for a Validator Node","description":"Using a service manager for your validator node.","sidebar":"docs"},"maintain/maintain-guides-how-to-upgrade":{"id":"maintain/maintain-guides-how-to-upgrade","title":"How to Upgrade Your Validator","description":"Validators perform critical functions for the network, and as such, have strict uptime requirements.","sidebar":"docs"},"maintain/maintain-guides-how-to-validate-polkadot":{"id":"maintain/maintain-guides-how-to-validate-polkadot","title":"Run a Validator (Polkadot)","description":"The fundamentals for running a Polkadot validator.","sidebar":"docs"},"maintain/maintain-guides-how-to-vote-councillor":{"id":"maintain/maintain-guides-how-to-vote-councillor","title":"Voting for Councillors","description":"Steps on how to vote for councillors.","sidebar":"docs"},"maintain/maintain-guides-polkadot-opengov":{"id":"maintain/maintain-guides-polkadot-opengov","title":"Participate in Polkadot OpenGov","description":"Steps on how to participate in OpenGov.","sidebar":"docs"},"maintain/maintain-guides-secure-validator":{"id":"maintain/maintain-guides-secure-validator","title":"Secure Validator","description":"Tips for running a secure validator.","sidebar":"docs"},"maintain/maintain-guides-validator-payout":{"id":"maintain/maintain-guides-validator-payout","title":"Validator Payout Overview","description":"How validator payout works on the network and what you should expect.","sidebar":"docs"},"maintain/maintain-index":{"id":"maintain/maintain-index","title":"Network Maintainers","description":"Reference point for network maintenance guides.","sidebar":"docs"},"maintain/maintain-networks":{"id":"maintain/maintain-networks","title":"Networks","description":"Information about the different networks of the Polkadot ecosystem.","sidebar":"docs"},"maintain/maintain-polkadot-parameters":{"id":"maintain/maintain-polkadot-parameters","title":"Polkadot Parameters","description":"A description about fundamental Polkadot parameters.","sidebar":"docs"},"maintain/maintain-rpc":{"id":"maintain/maintain-rpc","title":"Set up a RPC node","description":"Steps on setting up a RPC node.","sidebar":"docs"},"maintain/maintain-sync":{"id":"maintain/maintain-sync","title":"Set up a Full Node","description":"Steps on how to set up a full node.","sidebar":"docs"},"maintain/maintain-wss":{"id":"maintain/maintain-wss","title":"Secure the WebSocket","description":"Steps on setting up a secure socket for remote connections.","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/b3719d54.058b6b24.js b/assets/js/b3719d54.058b6b24.js new file mode 100644 index 000000000000..001c0d7b6a82 --- /dev/null +++ b/assets/js/b3719d54.058b6b24.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5422],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(a),u=o,k=p["".concat(l,".").concat(u)]||p[u]||h[u]||i;return a?n.createElement(k,r(r({ref:t},d),{},{components:a})):n.createElement(k,r({ref:t},d))}));function k(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,r[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>k,frontMatter:()=>s,metadata:()=>c,toc:()=>p});var n=a(87462),o=a(63366),i=(a(67294),a(3905)),r=["components"],s={id:"polkadot-v1",title:"Polkadot 1.0",sidebar_label:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",keywords:["polkadot vison","polkadot 1.0","Blockspace","Resilience","Decentralization"],slug:"../polkadot-v1"},l=void 0,c={unversionedId:"general/polkadot-v1",id:"general/polkadot-v1",title:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",source:"@site/../docs/general/polkadot-v1.md",sourceDirName:"general",slug:"/polkadot-v1",permalink:"/docs/polkadot-v1",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/general/polkadot-v1.md",tags:[],version:"current",lastUpdatedBy:"Filippo",lastUpdatedAt:1695131776,formattedLastUpdatedAt:"Sep 19, 2023",frontMatter:{id:"polkadot-v1",title:"Polkadot 1.0",sidebar_label:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",keywords:["polkadot vison","polkadot 1.0","Blockspace","Resilience","Decentralization"],slug:"../polkadot-v1"},sidebar:"docs",previous:{title:"Polkadot Vision",permalink:"/docs/polkadot-vision-index"},next:{title:"Polkadot Direction",permalink:"/docs/polkadot-direction"}},d={},p=[{value:"Polkadot 1.0",id:"polkadot-10",level:2},{value:"Polkadot's Representation",id:"polkadots-representation",level:3},{value:"Polkadot's Additional Functionalities",id:"polkadots-additional-functionalities",level:3},{value:"Polkadot's Resilience",id:"polkadots-resilience",level:3},{value:"Polkadot's Blockspace",id:"polkadots-blockspace",level:3},{value:"A Perspective Shift: Upcoming Polkadot Features",id:"a-perspective-shift-upcoming-polkadot-features",level:3}],h={toc:p},u="wrapper";function k(e){var t=e.components,s=(0,o.Z)(e,r);return(0,i.kt)(u,(0,n.Z)({},h,s,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Since the release of Bitcoin in 2009, blockchain projects increased exponentially to the order of\ntens of thousands. Different projects have different value propositions, suggesting that the future\nwill be multi-chain and that inter-chain communication will be crucial to establish collaborations\nand leveraging each other strengths."),(0,i.kt)("h2",{id:"polkadot-10"},"Polkadot 1.0"),(0,i.kt)("p",null,"Polkadot 1.0 reflects the status of Polkadot in 2023 at time of the release of the\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/paritytech/polkadot/releases/tag/v1.0.0"},"Polkadot runtime v1.0.0"),". This sections\nfocuses on Polkadot 1.0 and some philosophical digressions about network resilience and blockspace."),(0,i.kt)("p",null,"Polkadot is a Layer-0 blockchain that brings to the multi-chain vision the following innovations and\ninitiatives:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Application-specific Layer-1 (L1) blockchains (or parachains).")," Polkadot is a sharded network\nwhere transactions are processed in parallel with each shard. Polkadot shards can be heterogenous\n(i.e. they do not need the same state transition function as in the proposed Ethereum sharding\narchitecture). This allows to build L1 chains designed explicitly around their application and\nvalue proposition."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Shared security and financial scalability of L1 chains"),". Any L1 chain attached to a Polkadot\ncore can benefit from Polkadot shared security model. This means the Polkadot\nNominated-Proof-of-Stake (NPoS) mechanism along with its consensus mechanism, will secure L1\nchains out-of-the-box without having to bootstrap security on their own."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Secure interoperability.")," Any L1 chain attached to Polkadot (as well as L2 chains built on top\nof them) can benefit from Polkadot's native interoperability and will thus be able to communicate\nand exchange value and information with other parachains."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Truly resilient infrastructure.")," This is achieved by keeping the network decentralized without\ncompromising scalability and throughput and through on-chain treasury funds that can be accessed\nthrough governance referendum. Those funds guarantee constant sponsorship for events, initiatives,\neducational material, education, software development, etc."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Fast development and deployment of L1 chains.")," This is achieved through the modular and\nflexible ",(0,i.kt)("a",{parentName:"li",href:"/docs/glossary#substrate"},"Polkadot SDK Substrate"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Fostering next-gen of Web3 core developers.")," This is achieved through different initiatives\nsuch as:",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://polkadot.network/development/academy/"},"The Polkadot Blockchain Academy")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/builders-program"},"Substrate Builders Program")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/dev-heroes"},"Polkadot Developer Heroes Program")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://www.edx.org/school/web3x"},"Edx Courses")),(0,i.kt)("li",{parentName:"ul"},"Rust and Substrate Courses (coming soon)")))),(0,i.kt)("h3",{id:"polkadots-representation"},"Polkadot's Representation"),(0,i.kt)("p",null,"Polkadot has a Relay Chain acting as the main chain of the system. The Polkadot relay chain has been\nrepresented as a ring surrounded by multiple parachains attached to it. Based on Polkadot's design,\nas long as a chain's logic can compile to Wasm and adheres to the Relay Chain API, then it can\nconnect to the Polkadot network as a parachain."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"polkadot-relay-chain",src:a(35509).Z,width:"1701",height:"1441"})),(0,i.kt)("p",null,"Parachains construct and propose blocks to validators on the Relay Chain, where the blocks undergo\nrigorous ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-parachains-protocol"},"availability and validity")," checks before being\nadded to the finalized chain. As the Relay Chain provides the security guarantees,\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-collator"},"collators")," - full nodes of these parachains - don't have any security\nresponsibilities, and thus do not require a robust incentive system. This is how the entire network\nstays up to date with the many transactions that take place."),(0,i.kt)("p",null,"The ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-xcm"},"Cross-Consensus Messaging Format (XCM)")," allows parachains to send\nmessages of any type to each other. The shared security and validation logic of the Relay Chain\nprovide the environment for trust-free message passing that opens up true interoperability."),(0,i.kt)("p",null,"In order to interact with chains that want to use their own finalization process (e.g. Bitcoin),\nPolkadot has ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-bridges"},"bridge parachains")," that offer two-way compatibility,\nmeaning that transactions can be made between different parachains."),(0,i.kt)("h3",{id:"polkadots-additional-functionalities"},"Polkadot's Additional Functionalities"),(0,i.kt)("p",null,"The Polkadot relay-chain also manges ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-crowdloans"},"crowdloans"),",\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-auction"},"auctions"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-staking"},"staking"),",\n",(0,i.kt)("a",{parentName:"p",href:"./learn-accounts-index"},"accounts"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-balance-transfers"},"balances"),", and\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-polkadot-opengov"},"governance"),". Parachain slots or cores are leased in 6-month\nchunks for a maximum of two years, and crowdloans allow users to trustlessly loan funds to teams for\nlease deposits in exchange for pre-sale tokens. There is no other way you could use Polkadot 1.0."),(0,i.kt)("h3",{id:"polkadots-resilience"},"Polkadot's Resilience"),(0,i.kt)("p",null,"Decentralization is a crucial aspect of blockchain networks, but there is a trade-off between:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"having an over-decentralized network that struggles to reach consensus and consumes a lot of\nenergy to operate, and"),(0,i.kt)("li",{parentName:"ul"},"having a network that reaches consensus fast at the expense of being centralized, making it\ntrivial to manipulate or attack.")),(0,i.kt)("p",null,'Ideally, a network should be decentralized "enough" to make it practically impossible for someone to\nexert manipulative or malicious influence on the network. So, ',(0,i.kt)("strong",{parentName:"p"},"decentralization is a tool while the\ngoal is resilience"),", which is achieved by additionally providing on-chain treasury and governance\nmechanism allowing continuous incentives for the network's participants without relying on\nintermediaries or centralized entities."),(0,i.kt)("p",null,"Currently, Polkadot 1.0 achieve resilience through the following strategies:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Nominated Proof of Staking (NPoS) where the stake per validator is maximized and evenly\ndistributed across validators."),(0,i.kt)("li",{parentName:"ul"},"The ",(0,i.kt)("a",{parentName:"li",href:"/docs/thousand-validators"},"1KV program")," aims to incentivize new operators to become network\nparticipants and further increase physical (how many validator nodes per service provider) and\nsocial decentralization (how many validator nodes per operator). Those can be explored with the\n",(0,i.kt)("a",{parentName:"li",href:"https://polkadot.polkawatch.app/"},"Polkawatch App"),"."),(0,i.kt)("li",{parentName:"ul"},"An on-chain treasury and governance (see: ",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-polkadot-opengov"},"OpenGov")," where\nevery decision goes though public referenda and any token holder can cast a vote.")),(0,i.kt)("h3",{id:"polkadots-blockspace"},"Polkadot's Blockspace"),(0,i.kt)("p",null,"The design and realization of Polkadot 1.0 allowed its creators to enable commoditization of\nblockspace."),(0,i.kt)("p",null,"A blockchain is a way to store data. The storage unit is the block, and once a block is finalized\nonto the chain, it is practically impossible to modify the data within that block. In addition to\nbeing tamper-proof, public permissionless blockchains like Polkadot store data that are visible to\neverybody (i.e. public), and anybody can become a network participant permissionlessly."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Blockspace")," is the capacity of a blockchain to finalize and commit operations. It represents a\nblockchain's security, computing, and storage capability as an end product. Blockspace produced by\ndifferent blockchains can vary in security, flexibility, and availability."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Security"),", intended as how secure the blockspace is. In Proof-of-Stake (PoS) networks, this is\ndirectly related to how much stake is locked on validator nodes, how much variance in stake there\nis between validators (i.e. how easy it is to attack a single validator), and how many validators\nthere are securing the network (i.e. how easy it is for colluding validators to exert influence on\nthe network). Additionally, it is also important to look at how many validators are owned by\nsingle operators (this will determine the degree of social centralization of the network), and how\nmany validators run on the same service provider (this will determine the degree of physical\ncentralization of the network)."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Flexibility"),", intended as how flexible the blockspace is, what can be done with it, and what\ntype of data can be stored. Data quality plays an important role depending on the type of network.\nOne might avoid having situations in which poor quality data flood blockspace hindering the prompt\nexecution of vital processes."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Availability"),', intended as how available blockspace is and how difficult it is to access it. It\nshould not be too difficult to get your hands on it so that any business model can thrive using\nit. Ideally, a marketplace must drive the blockspace price based on demand, with secondary market\noptions to ensure the usage of "second-hand" blockspace.')),(0,i.kt)("p",null,"Polkadot has been designed around those core blockspace principles. However, its design can be\nfurther improved such that the tasks which are currently managed on the relay chain, such as\nbalances transfers, staking, and governance, can be delegated to\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-system-chains"},"system parachains"),' to increase flexibility and to focus the use of\nthe relay-chain to provide shared security and interoperability. Blockspace is only accessible\nthrough slot auctions, but an auction winner has access to a "freighter of blocks" regardless it is\nneeded or not. This creates high entry barriers and it can lead to waste of energy and resources.'),(0,i.kt)("p",null,"For more information about blockspace the ",(0,i.kt)("a",{parentName:"p",href:"https://youtu.be/e1vISppPwe4"},"this interview")," to Robert\nHabermeier as well as ",(0,i.kt)("a",{parentName:"p",href:"https://www.rob.tech/polkadot-blockspace-over-blockchains/"},"this article")," by\nhim."),(0,i.kt)("h3",{id:"a-perspective-shift-upcoming-polkadot-features"},"A Perspective Shift: Upcoming Polkadot Features"),(0,i.kt)("p",null,'As with many other projects before Polkadot, at some point in time after achieving the\ninitially-planned goals, a perspective shift allows you to understand better what your project is\nabout and what you actually have built. This allows you to "run the extra mile" and achieve more\nthan what was originally planned.'),(0,i.kt)("p",null,"The quote below by ",(0,i.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Marcel_Proust"},"Marcel Proust")," must remind us that\nsometimes a perspective shift is crucial in ",(0,i.kt)("em",{parentName:"p"},"understanding")," the world, and perhaps it is more\nimportant than ",(0,i.kt)("em",{parentName:"p"},"seeing more")," of the world."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"The only true voyage of discovery, the only fountain of Eternal Youth, would be not to visit\nstrange lands but to possess other eyes.")),(0,i.kt)("p",null,"Thus, if we start to see Polkadot with ",(0,i.kt)("em",{parentName:"p"},"other eyes")," we can truly envision its potential and what it\ncould become."),(0,i.kt)("p",null,"Polkadot is perfecting its implementation through ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/polkadot-fellows/RFCs"},"RFCs"),"\nto continue being a decentralized, secure, ubiquitous computing engine to power the next generation\nof Web3 applications."))}k.isMDXComponent=!0},35509:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/polkadot_relay_chain-c411a282aa36af0f20d04389919a6275.png"}}]); \ No newline at end of file diff --git a/assets/js/b3719d54.63fed6d9.js b/assets/js/b3719d54.63fed6d9.js deleted file mode 100644 index fa444a2999ec..000000000000 --- a/assets/js/b3719d54.63fed6d9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5422],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(a),u=o,k=p["".concat(l,".").concat(u)]||p[u]||h[u]||i;return a?n.createElement(k,r(r({ref:t},d),{},{components:a})):n.createElement(k,r({ref:t},d))}));function k(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,r[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>k,frontMatter:()=>s,metadata:()=>c,toc:()=>p});var n=a(87462),o=a(63366),i=(a(67294),a(3905)),r=["components"],s={id:"polkadot-v1",title:"Polkadot 1.0",sidebar_label:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",keywords:["polkadot vison","polkadot 1.0","Blockspace","Resilience","Decentralization"],slug:"../polkadot-v1"},l=void 0,c={unversionedId:"general/polkadot-v1",id:"general/polkadot-v1",title:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",source:"@site/../docs/general/polkadot-v1.md",sourceDirName:"general",slug:"/polkadot-v1",permalink:"/docs/polkadot-v1",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/general/polkadot-v1.md",tags:[],version:"current",lastUpdatedBy:"Filippo",lastUpdatedAt:1695131776,formattedLastUpdatedAt:"Sep 19, 2023",frontMatter:{id:"polkadot-v1",title:"Polkadot 1.0",sidebar_label:"Polkadot 1.0",description:"Polkadot's 1.0, Blockspace, Decentralization and Resilience.",keywords:["polkadot vison","polkadot 1.0","Blockspace","Resilience","Decentralization"],slug:"../polkadot-v1"},sidebar:"docs",previous:{title:"Polkadot Vision",permalink:"/docs/polkadot-vision-index"},next:{title:"Stay Safe",permalink:"/docs/stay-safe-index"}},d={},p=[{value:"Polkadot 1.0",id:"polkadot-10",level:2},{value:"Polkadot's Representation",id:"polkadots-representation",level:3},{value:"Polkadot's Additional Functionalities",id:"polkadots-additional-functionalities",level:3},{value:"Polkadot's Resilience",id:"polkadots-resilience",level:3},{value:"Polkadot's Blockspace",id:"polkadots-blockspace",level:3},{value:"A Perspective Shift: Upcoming Polkadot Features",id:"a-perspective-shift-upcoming-polkadot-features",level:3}],h={toc:p},u="wrapper";function k(e){var t=e.components,s=(0,o.Z)(e,r);return(0,i.kt)(u,(0,n.Z)({},h,s,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Since the release of Bitcoin in 2009, blockchain projects increased exponentially to the order of\ntens of thousands. Different projects have different value propositions, suggesting that the future\nwill be multi-chain and that inter-chain communication will be crucial to establish collaborations\nand leveraging each other strengths."),(0,i.kt)("h2",{id:"polkadot-10"},"Polkadot 1.0"),(0,i.kt)("p",null,"Polkadot 1.0 reflects the status of Polkadot in 2023 at time of the release of the\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/paritytech/polkadot/releases/tag/v1.0.0"},"Polkadot runtime v1.0.0"),". This sections\nfocuses on Polkadot 1.0 and some philosophical digressions about network resilience and blockspace."),(0,i.kt)("p",null,"Polkadot is a Layer-0 blockchain that brings to the multi-chain vision the following innovations and\ninitiatives:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Application-specific Layer-1 (L1) blockchains (or parachains).")," Polkadot is a sharded network\nwhere transactions are processed in parallel with each shard. Polkadot shards can be heterogenous\n(i.e. they do not need the same state transition function as in the proposed Ethereum sharding\narchitecture). This allows to build L1 chains designed explicitly around their application and\nvalue proposition."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Shared security and financial scalability of L1 chains"),". Any L1 chain attached to a Polkadot\ncore can benefit from Polkadot shared security model. This means the Polkadot\nNominated-Proof-of-Stake (NPoS) mechanism along with its consensus mechanism, will secure L1\nchains out-of-the-box without having to bootstrap security on their own."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Secure interoperability.")," Any L1 chain attached to Polkadot (as well as L2 chains built on top\nof them) can benefit from Polkadot's native interoperability and will thus be able to communicate\nand exchange value and information with other parachains."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Truly resilient infrastructure.")," This is achieved by keeping the network decentralized without\ncompromising scalability and throughput and through on-chain treasury funds that can be accessed\nthrough governance referendum. Those funds guarantee constant sponsorship for events, initiatives,\neducational material, education, software development, etc."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Fast development and deployment of L1 chains.")," This is achieved through the modular and\nflexible ",(0,i.kt)("a",{parentName:"li",href:"/docs/glossary#substrate"},"Polkadot SDK Substrate"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Fostering next-gen of Web3 core developers.")," This is achieved through different initiatives\nsuch as:",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://polkadot.network/development/academy/"},"The Polkadot Blockchain Academy")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/builders-program"},"Substrate Builders Program")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/dev-heroes"},"Polkadot Developer Heroes Program")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://www.edx.org/school/web3x"},"Edx Courses")),(0,i.kt)("li",{parentName:"ul"},"Rust and Substrate Courses (coming soon)")))),(0,i.kt)("h3",{id:"polkadots-representation"},"Polkadot's Representation"),(0,i.kt)("p",null,"Polkadot has a Relay Chain acting as the main chain of the system. The Polkadot relay chain has been\nrepresented as a ring surrounded by multiple parachains attached to it. Based on Polkadot's design,\nas long as a chain's logic can compile to Wasm and adheres to the Relay Chain API, then it can\nconnect to the Polkadot network as a parachain."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"polkadot-relay-chain",src:a(35509).Z,width:"1701",height:"1441"})),(0,i.kt)("p",null,"Parachains construct and propose blocks to validators on the Relay Chain, where the blocks undergo\nrigorous ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-parachains-protocol"},"availability and validity")," checks before being\nadded to the finalized chain. As the Relay Chain provides the security guarantees,\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-collator"},"collators")," - full nodes of these parachains - don't have any security\nresponsibilities, and thus do not require a robust incentive system. This is how the entire network\nstays up to date with the many transactions that take place."),(0,i.kt)("p",null,"The ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-xcm"},"Cross-Consensus Messaging Format (XCM)")," allows parachains to send\nmessages of any type to each other. The shared security and validation logic of the Relay Chain\nprovide the environment for trust-free message passing that opens up true interoperability."),(0,i.kt)("p",null,"In order to interact with chains that want to use their own finalization process (e.g. Bitcoin),\nPolkadot has ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-bridges"},"bridge parachains")," that offer two-way compatibility,\nmeaning that transactions can be made between different parachains."),(0,i.kt)("h3",{id:"polkadots-additional-functionalities"},"Polkadot's Additional Functionalities"),(0,i.kt)("p",null,"The Polkadot relay-chain also manges ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-crowdloans"},"crowdloans"),",\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-auction"},"auctions"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-staking"},"staking"),",\n",(0,i.kt)("a",{parentName:"p",href:"./learn-accounts-index"},"accounts"),", ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-balance-transfers"},"balances"),", and\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-polkadot-opengov"},"governance"),". Parachain slots or cores are leased in 6-month\nchunks for a maximum of two years, and crowdloans allow users to trustlessly loan funds to teams for\nlease deposits in exchange for pre-sale tokens. There is no other way you could use Polkadot 1.0."),(0,i.kt)("h3",{id:"polkadots-resilience"},"Polkadot's Resilience"),(0,i.kt)("p",null,"Decentralization is a crucial aspect of blockchain networks, but there is a trade-off between:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"having an over-decentralized network that struggles to reach consensus and consumes a lot of\nenergy to operate, and"),(0,i.kt)("li",{parentName:"ul"},"having a network that reaches consensus fast at the expense of being centralized, making it\ntrivial to manipulate or attack.")),(0,i.kt)("p",null,'Ideally, a network should be decentralized "enough" to make it practically impossible for someone to\nexert manipulative or malicious influence on the network. So, ',(0,i.kt)("strong",{parentName:"p"},"decentralization is a tool while the\ngoal is resilience"),", which is achieved by additionally providing on-chain treasury and governance\nmechanism allowing continuous incentives for the network's participants without relying on\nintermediaries or centralized entities."),(0,i.kt)("p",null,"Currently, Polkadot 1.0 achieve resilience through the following strategies:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Nominated Proof of Staking (NPoS) where the stake per validator is maximized and evenly\ndistributed across validators."),(0,i.kt)("li",{parentName:"ul"},"The ",(0,i.kt)("a",{parentName:"li",href:"/docs/thousand-validators"},"1KV program")," aims to incentivize new operators to become network\nparticipants and further increase physical (how many validator nodes per service provider) and\nsocial decentralization (how many validator nodes per operator). Those can be explored with the\n",(0,i.kt)("a",{parentName:"li",href:"https://polkadot.polkawatch.app/"},"Polkawatch App"),"."),(0,i.kt)("li",{parentName:"ul"},"An on-chain treasury and governance (see: ",(0,i.kt)("a",{parentName:"li",href:"/docs/learn-polkadot-opengov"},"OpenGov")," where\nevery decision goes though public referenda and any token holder can cast a vote.")),(0,i.kt)("h3",{id:"polkadots-blockspace"},"Polkadot's Blockspace"),(0,i.kt)("p",null,"The design and realization of Polkadot 1.0 allowed its creators to enable commoditization of\nblockspace."),(0,i.kt)("p",null,"A blockchain is a way to store data. The storage unit is the block, and once a block is finalized\nonto the chain, it is practically impossible to modify the data within that block. In addition to\nbeing tamper-proof, public permissionless blockchains like Polkadot store data that are visible to\neverybody (i.e. public), and anybody can become a network participant permissionlessly."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Blockspace")," is the capacity of a blockchain to finalize and commit operations. It represents a\nblockchain's security, computing, and storage capability as an end product. Blockspace produced by\ndifferent blockchains can vary in security, flexibility, and availability."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Security"),", intended as how secure the blockspace is. In Proof-of-Stake (PoS) networks, this is\ndirectly related to how much stake is locked on validator nodes, how much variance in stake there\nis between validators (i.e. how easy it is to attack a single validator), and how many validators\nthere are securing the network (i.e. how easy it is for colluding validators to exert influence on\nthe network). Additionally, it is also important to look at how many validators are owned by\nsingle operators (this will determine the degree of social centralization of the network), and how\nmany validators run on the same service provider (this will determine the degree of physical\ncentralization of the network)."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Flexibility"),", intended as how flexible the blockspace is, what can be done with it, and what\ntype of data can be stored. Data quality plays an important role depending on the type of network.\nOne might avoid having situations in which poor quality data flood blockspace hindering the prompt\nexecution of vital processes."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Availability"),', intended as how available blockspace is and how difficult it is to access it. It\nshould not be too difficult to get your hands on it so that any business model can thrive using\nit. Ideally, a marketplace must drive the blockspace price based on demand, with secondary market\noptions to ensure the usage of "second-hand" blockspace.')),(0,i.kt)("p",null,"Polkadot has been designed around those core blockspace principles. However, its design can be\nfurther improved such that the tasks which are currently managed on the relay chain, such as\nbalances transfers, staking, and governance, can be delegated to\n",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-system-chains"},"system parachains"),' to increase flexibility and to focus the use of\nthe relay-chain to provide shared security and interoperability. Blockspace is only accessible\nthrough slot auctions, but an auction winner has access to a "freighter of blocks" regardless it is\nneeded or not. This creates high entry barriers and it can lead to waste of energy and resources.'),(0,i.kt)("p",null,"For more information about blockspace the ",(0,i.kt)("a",{parentName:"p",href:"https://youtu.be/e1vISppPwe4"},"this interview")," to Robert\nHabermeier as well as ",(0,i.kt)("a",{parentName:"p",href:"https://www.rob.tech/polkadot-blockspace-over-blockchains/"},"this article")," by\nhim."),(0,i.kt)("h3",{id:"a-perspective-shift-upcoming-polkadot-features"},"A Perspective Shift: Upcoming Polkadot Features"),(0,i.kt)("p",null,'As with many other projects before Polkadot, at some point in time after achieving the\ninitially-planned goals, a perspective shift allows you to understand better what your project is\nabout and what you actually have built. This allows you to "run the extra mile" and achieve more\nthan what was originally planned.'),(0,i.kt)("p",null,"The quote below by ",(0,i.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Marcel_Proust"},"Marcel Proust")," must remind us that\nsometimes a perspective shift is crucial in ",(0,i.kt)("em",{parentName:"p"},"understanding")," the world, and perhaps it is more\nimportant than ",(0,i.kt)("em",{parentName:"p"},"seeing more")," of the world."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"The only true voyage of discovery, the only fountain of Eternal Youth, would be not to visit\nstrange lands but to possess other eyes.")),(0,i.kt)("p",null,"Thus, if we start to see Polkadot with ",(0,i.kt)("em",{parentName:"p"},"other eyes")," we can truly envision its potential and what it\ncould become."),(0,i.kt)("p",null,"Polkadot is perfecting its implementation through ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/polkadot-fellows/RFCs"},"RFCs"),"\nto continue being a decentralized, secure, ubiquitous computing engine to power the next generation\nof Web3 applications."))}k.isMDXComponent=!0},35509:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/polkadot_relay_chain-c411a282aa36af0f20d04389919a6275.png"}}]); \ No newline at end of file diff --git a/assets/js/c07c2447.250ffc51.js b/assets/js/c07c2447.7e8735bb.js similarity index 85% rename from assets/js/c07c2447.250ffc51.js rename to assets/js/c07c2447.7e8735bb.js index 387f16b8236e..4b16ffe78610 100644 --- a/assets/js/c07c2447.250ffc51.js +++ b/assets/js/c07c2447.7e8735bb.js @@ -1 +1 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[7654],{47940:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var a=n(74165),o=n(15861),i=n(67294),r=n(87152),s=n(34200),p=n(67425);function d(e,t,n){return l.apply(this,arguments)}function l(){return(l=(0,o.Z)((0,a.Z)().mark((function e(t,n,o){var i,p,d,l,c;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=void 0,p=void 0,e.t0=t,e.next="polkadot"===e.t0?5:"kusama"===e.t0?7:"statemine"===e.t0?9:"statemint"===e.t0?11:13;break;case 5:return i="wss://rpc.polkadot.io",e.abrupt("break",14);case 7:return i="wss://kusama-rpc.polkadot.io/",e.abrupt("break",14);case 9:return i="wss://statemine-rpc.polkadot.io/",e.abrupt("break",14);case 11:return i="wss://statemint-rpc.polkadot.io/",e.abrupt("break",14);case 13:console.log("Unknown socket url provided, no connection made.");case 14:if(void 0!==i){e.next=18;break}return e.abrupt("return");case 18:return d=new r.U(i),e.next=21,s.G.create({provider:d});case 21:l=e.sent,(c=n.split(".")).forEach((function(e){e in l&&(l=l[e])})),e.t1=c[0],e.next="consts"===e.t1?27:"query"===e.t1?29:34;break;case 27:return p=l.toString(),e.abrupt("break",35);case 29:return e.next=31,l();case 31:return p=(p=e.sent).toString(),e.abrupt("break",35);case 34:console.log("Unknown path prefix ("+c[0]+") in "+n);case 35:return e.abrupt("return",p);case 36:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function c(e,t,n,a){switch(t){case"humanReadable":(0,p.HumanReadable)(e,n,a);break;case"precise":(0,p.Precise)(e,n,a);break;case"blocksToDays":(0,p.BlocksToDays)(e,a);break;case"percentage":(0,p.Percentage)(e,a);break;case"arrayLength":(0,p.ArrayLength)(e,a);break;default:return void console.log("Ignoring unknown filter type")}}const u=function(e){var t=e.network,n=e.path,r=e.defaultValue,s=e.filter,p=void 0===s?void 0:s,l=(0,i.useState)(""),u=l[0],m=l[1];return t=t.toLowerCase(),(0,i.useEffect)((function(){void 0!==p?c(r.toString(),p,t,m):m(r.toString());var e=void 0;switch(t){case"polkadot":e="wss://rpc.polkadot.io";break;case"kusama":e="wss://kusama-rpc.polkadot.io/";break;case"statemine":e="wss://statemine-rpc.polkadot.io/";break;case"statemint":e="wss://statemint-rpc.polkadot.io/";break;default:console.log("Unknown network provided, "+t)}if(void 0===e)console.log("Failed to connect to a valid websocket, applying default");else{var i=function(){var e=(0,o.Z)((0,a.Z)().mark((function e(){var o;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(t,n,m);case 2:if(void 0!==(o=e.sent)){e.next=7;break}return e.abrupt("return");case 7:void 0!==p?c(o,p,t,m):m(o);case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();try{i()}catch(s){console.log(s)}}}),[]),u}},67425:e=>{var t={polkadot:{precision:1e10,symbol:"DOT"},kusama:{precision:1e12,symbol:"KSM"},statemint:{precision:1e10,symbol:"DOT"},statemine:{precision:1e12,symbol:"KSM"}};e.exports={HumanReadable:function(e,n,a){var o=void 0;if("polkadot"===n||"statemint"===n)o=3;else{if("kusama"!==n&&"statemine"!==n)return void console.log("Unknown network type found when attempting to apply 'Human Readable' filter");o=6}e=parseFloat(e),a((e=Number.isInteger(e/t[n].precision)?e/t[n].precision+" "+t[n].symbol:(e/t[n].precision).toFixed(o)+" "+t[n].symbol).toString())},Precise:function(e,n,a){a(e=(e=parseFloat(e))/t[n].precision+" "+t[n].symbol)},BlocksToDays:function(e,t){t((e=6*e/86400).toString())},Percentage:function(e,t){t((e/=1e7).toString())},ArrayLength:function(e,t){t((e=e.split(",").length).toString())}}},40569:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>f,frontMatter:()=>p,metadata:()=>l,toc:()=>u});var a=n(87462),o=n(63366),i=(n(67294),n(3905)),r=n(47940),s=["components"],p={id:"learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",sidebar_label:"OpenGov",description:"Advanced How-to Guides about Polkadot OpenGov.",keywords:["opengov","polkadot opengov","referenda","cancel"],slug:"../learn-guides-polkadot-opengov"},d=void 0,l={unversionedId:"learn/learn-guides-polkadot-opengov",id:"learn/learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",description:"Advanced How-to Guides about Polkadot OpenGov.",source:"@site/../docs/learn/learn-guides-polkadot-opengov.md",sourceDirName:"learn",slug:"/learn-guides-polkadot-opengov",permalink:"/docs/learn-guides-polkadot-opengov",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/learn/learn-guides-polkadot-opengov.md",tags:[],version:"current",lastUpdatedBy:"Filippo",lastUpdatedAt:1695721172,formattedLastUpdatedAt:"Sep 26, 2023",frontMatter:{id:"learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",sidebar_label:"OpenGov",description:"Advanced How-to Guides about Polkadot OpenGov.",keywords:["opengov","polkadot opengov","referenda","cancel"],slug:"../learn-guides-polkadot-opengov"},sidebar:"docs",previous:{title:"Nomination Pools",permalink:"/docs/learn-guides-staking-pools"},next:{title:"Treasury",permalink:"/docs/learn-guides-treasury"}},c={},u=[{value:"Cancel or Kill a Referendum",id:"cancel-or-kill-a-referendum",level:2},{value:"Request Submission and Decision Deposit Back",id:"request-submission-and-decision-deposit-back",level:2}],m={toc:u},k="wrapper";function f(e){var t=e.components,p=(0,o.Z)(e,s);return(0,i.kt)(k,(0,a.Z)({},m,p,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"This page is for advanced users of Polkadot OpenGov. If you would learn about and participate in\nOpenGov, please navigate to the page on\n",(0,i.kt)("a",{parentName:"p",href:"https://wiki.polkadot.network/docs/maintain-guides-polkadot-opengov"},"participating in Polkadot Opengov.")),(0,i.kt)("h2",{id:"cancel-or-kill-a-referendum"},"Cancel or Kill a Referendum"),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Anybody can cancel an ongoing referendum (i.e., a referendum within the Lead-in or\nvoting/confirmation period). For more information about the referenda timeline in Polkadot OpenGov,\nsee the ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-polkadot-opengov#referenda-timeline"},"dedicated page"),"."),(0,i.kt)("p",{parentName:"admonition"},"To successfully cancel a referendum through the track ",(0,i.kt)("inlineCode",{parentName:"p"},"20 / Referendum Canceller"),", you will need to\nattain\n",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#referendum-canceller"},"specific approval and support levels"),".")),(0,i.kt)("p",null,"To cancel a referendum, you need first to submit a preimage. Go to the\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/referenda"},"Polkadot-JS UI > Governance > Referenda"),' and click on the\n"Add Preimage" button. You must specify the specific call enacted if the proposal passes. To cancel\na referendum, you must specify the ',(0,i.kt)("inlineCode",{parentName:"p"},"referenda.cancel")," extrinsic of referendum ",(0,i.kt)("inlineCode",{parentName:"p"},"249"),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-preimage-creation",src:n(78996).Z,width:"2144",height:"944"})),(0,i.kt)("p",null,"This call will cancel the referendum and return the deposit. You can also kill a referendum using\nthe ",(0,i.kt)("inlineCode",{parentName:"p"},"referenda.kill")," extrinsic. This will cancel the referendum and slash the deposit. Note that\ncreating a preimage will reserve some funds proportionally to the amount of information stored\nwithin the preimage. In this case, the deposit was 1.33 KSM (see\n",(0,i.kt)("a",{parentName:"p",href:"https://kusama.subscan.io/extrinsic/19143604-2"},"Subscan"),")."),(0,i.kt)("p",null,"Once a preimage is submitted, it can be checked under\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/preimages"},"Governance > Preimages"),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-preimage-check",src:n(16212).Z,width:"2758",height:"190"})),(0,i.kt)("p",null,"You must copy the preimage to use it when you submit your proposal. To submit the proposal to cancel\nreferendum 249, for example, you need to go under\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/referenda"},"Governance > Referenda"),' and click the "Submit Proposal"\nbutton.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-proposal",src:n(81405).Z,width:"2130",height:"1226"})),(0,i.kt)("p",null,"You must specify the account to submit the proposal (this can differ from the account used to create\nthe preimage). Then you will need to specify the track ",(0,i.kt)("inlineCode",{parentName:"p"},"20 / Referendum Canceller")," and add the\npreimage hash containing the specific action that will be enacted if the referendum passes. Note\nthat a submission deposit of\n",(0,i.kt)(r.Z,{network:"polkadot",path:"consts.referenda.submissionDeposit",defaultValue:1e10,filter:"humanReadable",mdxType:"RPC"}),"","\nwill be reserved for submitting the proposal."),(0,i.kt)("p",null,"Once the proposal has been submitted, it will stay in the Lead-in period until there is enough space\nwithin the track, and a\n",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#polkadot-opengov-terminology-and-parameters"},"track-dependent preparation period and decision deposit"),"\nhave been met. Failing to submit the decision deposit within a\n",(0,i.kt)(r.Z,{network:"polkadot",path:"const.referenda.undecidingTimeout",defaultValue:201600,filter:"blocksToDays",mdxType:"RPC"}),"","-day\nperiod will lead to a referendum timeout."),(0,i.kt)("h2",{id:"request-submission-and-decision-deposit-back"},"Request Submission and Decision Deposit Back"),(0,i.kt)("p",null,"If you submitted a proposal and a referendum for such proposal has ended, you can claim your\nsubmission and decision deposits back by issuing the ",(0,i.kt)("inlineCode",{parentName:"p"},"refundSubmissionDeposit")," and the\n",(0,i.kt)("inlineCode",{parentName:"p"},"refundDecisionDeposit")," extrinsics, respectively. Those calls will succeed if the proposal is\ncompleted as passing or failing."),(0,i.kt)("p",null,"Users can not refund their submission deposit while the referendum is ",(0,i.kt)("inlineCode",{parentName:"p"},"Ongoing"),". Similarly, users\ncannot refund their submission deposit if the proposal has ",(0,i.kt)("inlineCode",{parentName:"p"},"TimedOut")," (failing to submit the decision deposit within a\n",(0,i.kt)(r.Z,{network:"polkadot",path:"const.referenda.undecidingTimeout",defaultValue:201600,filter:"blocksToDays",mdxType:"RPC"}),"","-day\nperiod will lead to a referendum timeout). This behavior exists so that users can refrain from\nspamming the chain with proposals that have no interest from the community. If a proposal is in the\n",(0,i.kt)("inlineCode",{parentName:"p"},"TimedOut")," state, any user can call ",(0,i.kt)("inlineCode",{parentName:"p"},"slash_proposal_deposit"),", which will move the funds from the\nuser to a runtime-configured account, like the treasury."),(0,i.kt)("p",null,"To refund your slashed deposit, you can start a new referendum and specifically request a refund\nfrom the treasury. You need to make sure you have enough balance for a new submission and decision\ndeposit, and you will need to select the right track to ask for a refund. For example, the ",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#small-tipper"},"Small Tipper Track")," would be fine for\nany kind of deposit refund up to\n250 DOT."))}f.isMDXComponent=!0},16212:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-preimage-check-45ef7f984450113a2b1a87e9e2751d69.png"},78996:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-preimage-creation-3923463db47aec298f74a426dba23166.png"},81405:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-proposal-b9c5e90784ec8216360053d8bda84980.png"},46601:()=>{}}]); \ No newline at end of file +(self.webpackChunk=self.webpackChunk||[]).push([[7654],{47940:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var a=n(74165),o=n(15861),i=n(67294),r=n(87152),s=n(34200),p=n(67425);function d(e,t,n){return l.apply(this,arguments)}function l(){return(l=(0,o.Z)((0,a.Z)().mark((function e(t,n,o){var i,p,d,l,c;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=void 0,p=void 0,e.t0=t,e.next="polkadot"===e.t0?5:"kusama"===e.t0?7:"statemine"===e.t0?9:"statemint"===e.t0?11:13;break;case 5:return i="wss://rpc.polkadot.io",e.abrupt("break",14);case 7:return i="wss://kusama-rpc.polkadot.io/",e.abrupt("break",14);case 9:return i="wss://statemine-rpc.polkadot.io/",e.abrupt("break",14);case 11:return i="wss://statemint-rpc.polkadot.io/",e.abrupt("break",14);case 13:console.log("Unknown socket url provided, no connection made.");case 14:if(void 0!==i){e.next=18;break}return e.abrupt("return");case 18:return d=new r.U(i),e.next=21,s.G.create({provider:d});case 21:l=e.sent,(c=n.split(".")).forEach((function(e){e in l&&(l=l[e])})),e.t1=c[0],e.next="consts"===e.t1?27:"query"===e.t1?29:34;break;case 27:return p=l.toString(),e.abrupt("break",35);case 29:return e.next=31,l();case 31:return p=(p=e.sent).toString(),e.abrupt("break",35);case 34:console.log("Unknown path prefix ("+c[0]+") in "+n);case 35:return e.abrupt("return",p);case 36:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function c(e,t,n,a){switch(t){case"humanReadable":(0,p.HumanReadable)(e,n,a);break;case"precise":(0,p.Precise)(e,n,a);break;case"blocksToDays":(0,p.BlocksToDays)(e,a);break;case"percentage":(0,p.Percentage)(e,a);break;case"arrayLength":(0,p.ArrayLength)(e,a);break;default:return void console.log("Ignoring unknown filter type")}}const u=function(e){var t=e.network,n=e.path,r=e.defaultValue,s=e.filter,p=void 0===s?void 0:s,l=(0,i.useState)(""),u=l[0],m=l[1];return t=t.toLowerCase(),(0,i.useEffect)((function(){void 0!==p?c(r.toString(),p,t,m):m(r.toString());var e=void 0;switch(t){case"polkadot":e="wss://rpc.polkadot.io";break;case"kusama":e="wss://kusama-rpc.polkadot.io/";break;case"statemine":e="wss://statemine-rpc.polkadot.io/";break;case"statemint":e="wss://statemint-rpc.polkadot.io/";break;default:console.log("Unknown network provided, "+t)}if(void 0===e)console.log("Failed to connect to a valid websocket, applying default");else{var i=function(){var e=(0,o.Z)((0,a.Z)().mark((function e(){var o;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,d(t,n,m);case 2:if(void 0!==(o=e.sent)){e.next=7;break}return e.abrupt("return");case 7:void 0!==p?c(o,p,t,m):m(o);case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();try{i()}catch(s){console.log(s)}}}),[]),u}},67425:e=>{var t={polkadot:{precision:1e10,symbol:"DOT"},kusama:{precision:1e12,symbol:"KSM"},statemint:{precision:1e10,symbol:"DOT"},statemine:{precision:1e12,symbol:"KSM"}};e.exports={HumanReadable:function(e,n,a){var o=void 0;if("polkadot"===n||"statemint"===n)o=3;else{if("kusama"!==n&&"statemine"!==n)return void console.log("Unknown network type found when attempting to apply 'Human Readable' filter");o=6}e=parseFloat(e),a((e=Number.isInteger(e/t[n].precision)?e/t[n].precision+" "+t[n].symbol:(e/t[n].precision).toFixed(o)+" "+t[n].symbol).toString())},Precise:function(e,n,a){a(e=(e=parseFloat(e))/t[n].precision+" "+t[n].symbol)},BlocksToDays:function(e,t){t((e=6*e/86400).toString())},Percentage:function(e,t){t((e/=1e7).toString())},ArrayLength:function(e,t){t((e=e.split(",").length).toString())}}},40569:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>f,frontMatter:()=>p,metadata:()=>l,toc:()=>u});var a=n(87462),o=n(63366),i=(n(67294),n(3905)),r=n(47940),s=["components"],p={id:"learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",sidebar_label:"OpenGov",description:"Advanced How-to Guides about Polkadot OpenGov.",keywords:["opengov","polkadot opengov","referenda","cancel"],slug:"../learn-guides-polkadot-opengov"},d=void 0,l={unversionedId:"learn/learn-guides-polkadot-opengov",id:"learn/learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",description:"Advanced How-to Guides about Polkadot OpenGov.",source:"@site/../docs/learn/learn-guides-polkadot-opengov.md",sourceDirName:"learn",slug:"/learn-guides-polkadot-opengov",permalink:"/docs/learn-guides-polkadot-opengov",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/learn/learn-guides-polkadot-opengov.md",tags:[],version:"current",lastUpdatedBy:"Filippo",lastUpdatedAt:1695876158,formattedLastUpdatedAt:"Sep 28, 2023",frontMatter:{id:"learn-guides-polkadot-opengov",title:"Polkadot OpenGov How-to Guides",sidebar_label:"OpenGov",description:"Advanced How-to Guides about Polkadot OpenGov.",keywords:["opengov","polkadot opengov","referenda","cancel"],slug:"../learn-guides-polkadot-opengov"},sidebar:"docs",previous:{title:"Nomination Pools",permalink:"/docs/learn-guides-staking-pools"},next:{title:"Treasury",permalink:"/docs/learn-guides-treasury"}},c={},u=[{value:"Cancel or Kill a Referendum",id:"cancel-or-kill-a-referendum",level:2},{value:"Request Submission and Decision Deposit Back",id:"request-submission-and-decision-deposit-back",level:2}],m={toc:u},k="wrapper";function f(e){var t=e.components,p=(0,o.Z)(e,s);return(0,i.kt)(k,(0,a.Z)({},m,p,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"This page is for advanced users of Polkadot OpenGov. If you would learn about and participate in\nOpenGov, please navigate to the page on\n",(0,i.kt)("a",{parentName:"p",href:"https://wiki.polkadot.network/docs/maintain-guides-polkadot-opengov"},"participating in Polkadot Opengov.")),(0,i.kt)("h2",{id:"cancel-or-kill-a-referendum"},"Cancel or Kill a Referendum"),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Anybody can cancel an ongoing referendum (i.e., a referendum within the Lead-in or\nvoting/confirmation period). For more information about the referenda timeline in Polkadot OpenGov,\nsee the ",(0,i.kt)("a",{parentName:"p",href:"/docs/learn-polkadot-opengov#referenda-timeline"},"dedicated page"),"."),(0,i.kt)("p",{parentName:"admonition"},"To successfully cancel a referendum through the track ",(0,i.kt)("inlineCode",{parentName:"p"},"20 / Referendum Canceller"),", you will need to\nattain\n",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#referendum-canceller"},"specific approval and support levels"),".")),(0,i.kt)("p",null,"To cancel a referendum, you need first to submit a preimage. Go to the\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/referenda"},"Polkadot-JS UI > Governance > Referenda"),' and click on the\n"Add Preimage" button. You must specify the specific call enacted if the proposal passes. To cancel\na referendum, you must specify the ',(0,i.kt)("inlineCode",{parentName:"p"},"referenda.cancel")," extrinsic of referendum ",(0,i.kt)("inlineCode",{parentName:"p"},"249"),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-preimage-creation",src:n(78996).Z,width:"2144",height:"944"})),(0,i.kt)("p",null,"This call will cancel the referendum and return the deposit. You can also kill a referendum using\nthe ",(0,i.kt)("inlineCode",{parentName:"p"},"referenda.kill")," extrinsic. This will cancel the referendum and slash the deposit. Note that\ncreating a preimage will reserve some funds proportionally to the amount of information stored\nwithin the preimage. In this case, the deposit was 1.33 KSM (see\n",(0,i.kt)("a",{parentName:"p",href:"https://kusama.subscan.io/extrinsic/19143604-2"},"Subscan"),")."),(0,i.kt)("p",null,"Once a preimage is submitted, it can be checked under\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/preimages"},"Governance > Preimages"),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-preimage-check",src:n(16212).Z,width:"2758",height:"190"})),(0,i.kt)("p",null,"You must copy the preimage to use it when you submit your proposal. To submit the proposal to cancel\nreferendum 249, for example, you need to go under\n",(0,i.kt)("a",{parentName:"p",href:"https://polkadot.js.org/apps/#/referenda"},"Governance > Referenda"),' and click the "Submit Proposal"\nbutton.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"cancel-referenda-proposal",src:n(81405).Z,width:"2130",height:"1226"})),(0,i.kt)("p",null,"You must specify the account to submit the proposal (this can differ from the account used to create\nthe preimage). Then you will need to specify the track ",(0,i.kt)("inlineCode",{parentName:"p"},"20 / Referendum Canceller")," and add the\npreimage hash containing the specific action that will be enacted if the referendum passes. Note\nthat a submission deposit of\n",(0,i.kt)(r.Z,{network:"polkadot",path:"consts.referenda.submissionDeposit",defaultValue:1e10,filter:"humanReadable",mdxType:"RPC"}),"","\nwill be reserved for submitting the proposal."),(0,i.kt)("p",null,"Once the proposal has been submitted, it will stay in the Lead-in period until there is enough space\nwithin the track, and a\n",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#polkadot-opengov-terminology-and-parameters"},"track-dependent preparation period and decision deposit"),"\nhave been met. Failing to submit the decision deposit within a\n",(0,i.kt)(r.Z,{network:"polkadot",path:"const.referenda.undecidingTimeout",defaultValue:201600,filter:"blocksToDays",mdxType:"RPC"}),"","-day\nperiod will lead to a referendum timeout."),(0,i.kt)("h2",{id:"request-submission-and-decision-deposit-back"},"Request Submission and Decision Deposit Back"),(0,i.kt)("p",null,"If you submitted a proposal and a referendum for such proposal has ended, you can claim your\nsubmission and decision deposits back by issuing the ",(0,i.kt)("inlineCode",{parentName:"p"},"refundSubmissionDeposit")," and the\n",(0,i.kt)("inlineCode",{parentName:"p"},"refundDecisionDeposit")," extrinsics, respectively. Those calls will succeed if the proposal is\ncompleted as passing or failing."),(0,i.kt)("p",null,"Users can not refund their submission deposit while the referendum is ",(0,i.kt)("inlineCode",{parentName:"p"},"Ongoing"),". Similarly, users\ncannot refund their submission deposit if the proposal has ",(0,i.kt)("inlineCode",{parentName:"p"},"TimedOut")," (failing to submit the\ndecision deposit within a\n",(0,i.kt)(r.Z,{network:"polkadot",path:"const.referenda.undecidingTimeout",defaultValue:201600,filter:"blocksToDays",mdxType:"RPC"}),"","-day\nperiod will lead to a referendum timeout). This behavior exists so that users can refrain from\nspamming the chain with proposals that have no interest from the community. If a proposal is in the\n",(0,i.kt)("inlineCode",{parentName:"p"},"TimedOut")," state, any user can call ",(0,i.kt)("inlineCode",{parentName:"p"},"slash_proposal_deposit"),", which will move the funds from the\nuser to a runtime-configured account, like the treasury."),(0,i.kt)("p",null,"To refund your slashed deposit, you can start a new referendum and specifically request a refund\nfrom the treasury. You need to make sure you have enough balance for a new submission and decision\ndeposit, and you will need to select the right track to ask for a refund. For example, the\n",(0,i.kt)("a",{parentName:"p",href:"/docs/maintain-guides-polkadot-opengov#small-tipper"},"Small Tipper Track")," would be fine for\nany kind of deposit refund up to\n250 DOT."))}f.isMDXComponent=!0},16212:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-preimage-check-45ef7f984450113a2b1a87e9e2751d69.png"},78996:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-preimage-creation-3923463db47aec298f74a426dba23166.png"},81405:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=n.p+"assets/images/cancel-referenda-proposal-b9c5e90784ec8216360053d8bda84980.png"},46601:()=>{}}]); \ No newline at end of file diff --git a/assets/js/ccc1222e.18cf1e58.js b/assets/js/ccc1222e.18cf1e58.js deleted file mode 100644 index 6c813766bcee..000000000000 --- a/assets/js/ccc1222e.18cf1e58.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6920],{3905:(t,a,e)=>{e.d(a,{Zo:()=>m,kt:()=>k});var r=e(67294);function n(t,a,e){return a in t?Object.defineProperty(t,a,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[a]=e,t}function o(t,a){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),e.push.apply(e,r)}return e}function i(t){for(var a=1;a=0||(n[e]=t[e]);return n}(t,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(n[e]=t[e])}return n}var p=r.createContext({}),h=function(t){var a=r.useContext(p),e=a;return t&&(e="function"==typeof t?t(a):i(i({},a),t)),e},m=function(t){var a=h(t.components);return r.createElement(p.Provider,{value:a},t.children)},s="mdxType",d={inlineCode:"code",wrapper:function(t){var a=t.children;return r.createElement(r.Fragment,{},a)}},u=r.forwardRef((function(t,a){var e=t.components,n=t.mdxType,o=t.originalType,p=t.parentName,m=l(t,["components","mdxType","originalType","parentName"]),s=h(e),u=n,k=s["".concat(p,".").concat(u)]||s[u]||d[u]||o;return e?r.createElement(k,i(i({ref:a},m),{},{components:e})):r.createElement(k,i({ref:a},m))}));function k(t,a){var e=arguments,n=a&&a.mdxType;if("string"==typeof t||n){var o=e.length,i=new Array(o);i[0]=u;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=t,l[s]="string"==typeof t?t:n,i[1]=l;for(var h=2;h{e.r(a),e.d(a,{assets:()=>m,contentTitle:()=>p,default:()=>k,frontMatter:()=>l,metadata:()=>h,toc:()=>s});var r=e(87462),n=e(63366),o=(e(67294),e(3905)),i=["components"],l={id:"build-open-source",title:"Open Source Stack",sidebar_label:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",keywords:["open","source","development","code","resources","tools","apis"],slug:"../build-open-source"},p="Open Source Polkadot Stack \x3c!-- omit in toc --\x3e",h={unversionedId:"build/build-open-source",id:"build/build-open-source",title:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",source:"@site/../docs/build/build-open-source.md",sourceDirName:"build",slug:"/build-open-source",permalink:"/docs/build-open-source",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/build/build-open-source.md",tags:[],version:"current",lastUpdatedBy:"Sebastian M\xfcller",lastUpdatedAt:1695797248,formattedLastUpdatedAt:"Sep 27, 2023",frontMatter:{id:"build-open-source",title:"Open Source Stack",sidebar_label:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",keywords:["open","source","development","code","resources","tools","apis"],slug:"../build-open-source"},sidebar:"docs",previous:{title:"Tool Index",permalink:"/docs/build-tools-index"},next:{title:"Hackathons",permalink:"/docs/build-hackathon"}},m={},s=[{value:"About",id:"about",level:2},{value:"Layers of Polkadot Stack",id:"layers-of-polkadot-stack",level:2},{value:"Wallets",id:"wallets",level:3},{value:"User Interface",id:"user-interface",level:3},{value:"Tools, APIs, and Languages",id:"tools-apis-and-languages",level:3},{value:"ink Smart Contracts",id:"ink-smart-contracts",level:3},{value:"Chains and Pallets",id:"chains-and-pallets",level:3},{value:"Host",id:"host",level:3},{value:"Network Maintenance Tools",id:"network-maintenance-tools",level:3},{value:"Signatures",id:"signatures",level:3},{value:"Consensus",id:"consensus",level:3},{value:"Networking",id:"networking",level:3},{value:"Primitives",id:"primitives",level:3},{value:"Contributing",id:"contributing",level:2}],d={toc:s},u="wrapper";function k(t){var a=t.components,e=(0,n.Z)(t,i);return(0,o.kt)(u,(0,r.Z)({},d,e,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"open-source-polkadot-stack--omit-in-toc-"},"Open Source Polkadot Stack "),(0,o.kt)("admonition",{title:"Do your research before using open-source tools",type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The tools listed here are open-source and are linked directly to their source code. Before using these tools to build your projects, always ",(0,o.kt)("a",{parentName:"p",href:"/docs/how-to-dyor"},"do your research")," and be aware of ",(0,o.kt)("a",{parentName:"p",href:"/docs/learn-scams"},"scams"),".")),(0,o.kt)("p",null,"This page aims to provide an overview of the open-source Polkadot Tech Stack."),(0,o.kt)("p",null,"This is a living document, and we rely on everyone to contribute and help maintain\nit. ",(0,o.kt)("a",{parentName:"p",href:"#contributing"},(0,o.kt)("strong",{parentName:"a"},"Please feel free to make edits and additions via pull requests")),". We\napologize if we missed your project!"),(0,o.kt)("hr",null),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#about"},"About")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#layers-of-polkadot-stack"},"Layers of Polkadot Stack"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#wallets"},"Wallets")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#user-interface"},"User Interface")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#tools-apis-and-languages"},"Tools, APIs, and Languages")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#ink-smart-contracts"},"ink Smart Contracts")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#chains-and-pallets"},"Chains and Pallets")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#host"},"Host")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#network-maintenance-tools"},"Network Maintenance Tools")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#signatures"},"Signatures")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#consensus"},"Consensus")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#networking"},"Networking")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#primitives"},"Primitives")))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#contributing"},"Contributing"))),(0,o.kt)("h2",{id:"about"},"About"),(0,o.kt)("p",null,"The Polkadot Tech Stack is a subset of the Web 3.0 Tech Stack, which consists of the ",(0,o.kt)("strong",{parentName:"p"},"open-source"),"\ntechnologies contributing to and relying on ",(0,o.kt)("a",{parentName:"p",href:"https://polkadot.network/"},"Polkadot"),". It is meant to be used\nfor decentralized application (Dapp) development within numerous verticals, including DeFi, Gaming,\nProvenance and many others not pictured below."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"|------|--------|------------|\n| DeFi | Gaming | Provenance |\n|______|________|____________|\n Dapps\n|--------------------------/-|\n| Explorers, Wallets / |\n|------------------------/---|\n| Tools, Apis, Languages/ |\n|----------------------/-----|\n| 2nd layer protocols / |\n|--------------------/-------|\n| Chains / other |\n|------------------/--- --|\n| *Polkadot* | tech |\n|------------------\\---------|\n| P2P, Crypto, Wasm \\ |\n|--------------------\\-------|\n")),(0,o.kt)("h2",{id:"layers-of-polkadot-stack"},"Layers of Polkadot Stack"),(0,o.kt)("p",null,"In the below sections, you can find a list of different layers of the Polkadot Stack."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Maintenance Status"),":"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"\ud83d\udfe2 Actively maintained"),(0,o.kt)("li",{parentName:"ul"},"\ud83d\udfe1 Stale (no activity on the main branch for one month)"),(0,o.kt)("li",{parentName:"ul"},"\u26aa Unmaintained (no activity on the main branch for more than three months)")),(0,o.kt)("h3",{id:"wallets"},"Wallets"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Web Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/Multix"},"Multix")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkasafe/polkasafe-ui"},"Polkasafe")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/apps"},"polkadot-js/apps")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman-web"},"Talisman Web Application")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/enkryptcom/mydotwallet"},"mydotwallet")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subid"},"Sub ID")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Primis-Labs/client"},"Primis")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3finance/sakura"},"Sakura")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/Web3Box-apps"},"Web3Box")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CoongCrafts/coong-wallet"},"Coong Wallet")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan-multisig-react"},"Subscan Multisig UI - React")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan-multisig-ui"},"Subscan Multisig UI")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DoraFactory/dorafactory-multisig"},"Dorafactory-Multisig")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/capi-multisig-app"},"Capi Multisig App")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"User-friendly Wallet based on the ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/frame/recovery"},"Recovery Pallet"),", Web wallets focused on user-onboarding (e.g. using ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/near/near-wallet"},"localStorage"),")")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Desktop Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/novasamatech/nova-spektr"},"nova-spektr")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/omni-desktop-prototype"},"Omni desktop")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Enterprise Wallets")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Browser Extensions"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman"},"Talisman-Extension")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubWallet-Extension"},"SubWallet-Extension")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/enkryptcom/enKrypt"},"Enkrypt")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/extension"},"Polkadot{.js}")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nick-1979/polkadot-Js-Plus-extension"},"Polkadot-Js-Plus-Extension")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainBridgeNetworkTeam/Doter"},"Doter")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GetSpeckle/speckle-browser-extension"},"Speckle OS")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/kuma-wallet"},"Kuma Cross-chain Wallet")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Sign-in with your Polkadot, Kusama, etc. account.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Mobile Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/airgap-it/airgap-wallet"},"AirGap")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubWallet-Mobile"},"SubWallet-Mobile")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/luniehq/lunie"},"Lunie")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkawallet-io/polkawallet-flutter"},"Polkawallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-signer"},"Parity Signer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/consenlabs/token-core"},"imToken")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/fearless-Android"},"Fearless Wallet Android")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/fearless-iOS"},"Fearless Wallet iOS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stylo-app/stylo"},"Stylo")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nova-wallet/nova-utils"},"Nova Wallet")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fractapp/fractapp/"},"Fractapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Interstellar-Network/wallet-app"},"Interstellar Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hypha-dao/hashed-wallet"},"Hashed Wallet")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Burner Wallets/Faucet/Gifts"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/hamidra/dotdrop"},"dotdrop")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/vue-polkadot/apps"},"KodaDot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/astar-faucet-bot"},"Astar Faucet Bot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/karooolis/sybil-resistant-substrate-faucet"},"Generic sybil-resistant faucet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/StringNick/sybil-resistant-chat-bot-substrate-faucet"},"sybil-resistant Chat Bot Faucet")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"Faucet (a sybil-resistant way to receive free tokens)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Wallet Plugins"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/metamask-snap-polkadot"},"Metamask-Snap by Chainsafe")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"CLI Wallet"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/yxf/subwallet"},"Subwallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/canontech/proxy-hot-wallet"},"Proxy-hot-wallet")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Hardware Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZondaX/ledger-polkadot"},"Ledger Polkadot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-kusama"},"Ledger Kusama")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-statemint"},"Ledger Statemint")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-statemine"},"Ledger Statemine")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Trezor")))),(0,o.kt)("h3",{id:"user-interface"},"User Interface"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Block Explorers"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/topmonks/calamar"},"Calamar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/colorfulnotion/polkaholic"},"Polkaholic")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/explorer-api"},"Polkascan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Colm3na/polkastats-backend"},"Polkastats")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan"},"Subscan")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/statescan"},"Statescan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/edgeware-builders/edgscan"},"Edgscan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3labs/epirus-substrate"},"Sirato")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/ink-substrate-explorer-api"},"Ink! Explorer API")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/substats"},"Substats")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hybrid-explorer/hybrid-dapp"},"Hybrid Block Explorer")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"Mempool focused explorer (including parachain transaction)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator Dashboards"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-telemetry"},"Polkadot Telemetry")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashquark-io/polkacube-frontend"},"Polkacube")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/buidl-labs/YieldScan"},"YieldScan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-community/hubble/tree/master/app/controllers/polkadot"},"Hubble")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ArthurHoeke/cyclops"},"Cyclops")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3go-xyz/web3go-xyz-v2"},"Web3Go")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Node Explorers"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/protos-research/polkadot-node-explorer"},"Polkadot Node Explorer")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT Explorer"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/nft-gallery"},"NFT Explorer for Kusama & Polkadot")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance Dashboards"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/governance-ui"},"Polkadot Delegation Dashboard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/premiurly/polkassembly"},"Polkassembly")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/dotreasury"},"dotreasury")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/bright-tresury"},"Bright Treasury")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/collaboration"},"OpenSquare offchain voting")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/wpank/open-gov-insights"},"OpenGov Insights")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"UI for the Kusama and/or Polkadot treasury (see ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/pull/5715"},"bounty module"),"), UI for Parachain Lease Offering (PLO)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Staking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/staking-rewards-collector"},"Staking Rewards Collector")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/jackson-harris-iii/staking-rewards-viewer"},"Staking Rewards Viewer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cryptolab-network/polkadot-staking-site"},"Polkadot Staking Site")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-staking-dashboard"},"Polkadot Staking Dashboard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/James-Sangalli/dot-validator-selector"},"Polkadot/Kusama Validator Selector")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/James-Sangalli/dot-staking-income"},"Staking Income CSV Generator")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridge UI"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-bridges-ui"},"Parity Bridges UI")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nutbox-dao/donut-interface"},"Donut Interface (Steem - Dot)")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Parachain/Crowdloan"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/jhonalino/parachains.network"},"Parachains.Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CrommVardek/polk-auction-ui"},"PolkAuction")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/10clouds/crowdloan-template"},"Crowdloan Front End Template")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hack-ink/slothunter/"},"Slothunter")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identicon"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/RidOne-technologies/polkadot-web-identicon"},"PolkadotWebIdenticon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RidOne-technologies/polkadot-angular-identicon"},"Polkadot Angular IdentIcon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Noc2/Bird-Identicon"},"Bird Identicon")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KappaSigmaMu/ksm-app"},"KappaSigmaMu Fratority")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/quadratic-funding-webapp"},"Quadratic Funding Webapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://gitlab.com/polkawatch/polkawatch"},"Polkawatch"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bytepayment/bytepay"},"Bytepay")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Delmonicos/charging-management-platform"},"charging-management-platform")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TDSoftware/subidentity-webapp"},"subidentity-webapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/paid-qa/"},"OpenSquare Paid QA")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CrossChainLabs-DOT/dotpulse-api"},"DotPulse")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bsn-si/rubeus-smartcontract"},"Rubeus Keeper")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/justmert/eco-flow-frontend"},"Polkaflow")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/chainviz-v1"},"ChainViz")," \u2754, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fidi-tech/dotsight"},"Dotsight")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://docs.sui.io/build/zk_login"},"zkLogin"),", Portfolio Viewer like Zapper or Zerion")))),(0,o.kt)("h3",{id:"tools-apis-and-languages"},"Tools, APIs, and Languages"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Runtime/Parachain frameworks"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-sdk"},"Polkadot Blockchain SDK")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/gosemble"},"Gosemble")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/subsembly"},"Subsembly")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/parachain-utilities"},"Parachain utilities")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gantree-io/gantree-core"},"Gantree")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Tools to create parachains with other frameworks, like the ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cosmos/cosmos-sdk"},"Cosmos SDK")," or ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/0xPolygon/cdk-validium-node"},"Polygon CDK"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Client Libraries"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/capi"},"Capi - Typescript")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/packages/tree/main/sub-api"},"sub-api")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/go-substrate-rpc-client"},"Go")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_api_dotnet"},".Net")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ajuna-network/Ajuna.NetApi"},".NET Standard 2.0")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubstrateGaming/Substrate.NET.Toolchain"},"Substrate .NET Toolchain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_api_cpp"},"C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/finoabanking/substrate-c-tool"},"C")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/hs-web3"},"Haskell")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/api"},"Javascript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-api-sidecar"},"Substrate API Sidecar - TypeScript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/py-substrate-interface"},"Python")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkaj"},"Java (+ Android)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/strategyobject/substrate-client-java"},"Substrate Client Java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scs/substrate-api-client"},"Rust SCS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/subxt"},"Rust Parity (subxt)")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/trevor-crypto"},"Rust pdotc")," ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/php-substrate-api"},"PHP (gmajor-encrypt)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/neha0921/substrate-interface-package"},"PHP (neha0921)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/frontier"},"RPC-Ethereum")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/Substrate.swift"},"Swift")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NodleCode/substrate-client-kotlin"},"Kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/substrate-client-kotlin"},"substrate-client-kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/substrate-client-swift"},"substrate-client-swift")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rankanizer/polkadart"},"Dart")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polywrap/integrations"},"Substrate Core Polywrapper")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"RPC Gateway"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/subway"},"Subway")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Substrate Contract clients"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/go-patract"},"PatractGo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Easy Runtime Development"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/hack-ink/subalfred"},"Subalfred")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kaichaosun/substrate-stencil"},"substrate-stencil")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kaichaosun/play-substrate"},"Play Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/substrate-node-template"},"substrate-node-template")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-playground"},"Substrate Playground")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/as-substrate-runtime"},"AssemblyScript Runtime Generation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/clearloop/sup"},"Substrate Package Manager")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/subsembly"},"Subsembly: Framework for developing AssemblyScript Substrate Runtimes")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bkchr/diener"},"dependency diener")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Easy Smart Contract Development"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/swankyhub/swanky-cli"},"Swanky-cli")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/727-ventures/typechain-polkadot"},"Typechain Polkadot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink-playground"},"ink-playground")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/drink"},"DRink!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockchain-it-hr/ink-remix-plugin"},"Ink! Remix Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/standardweb3/signac/"},"Signac")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scio-labs/inkathon"},"INK!athon")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/avirajkhare00/ink-boxes/"},"ink!-boxes")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/avirajkhare00/ink-wizard"},"ink!-smart-contract-wizard")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/protofire/polkadot-contract-wizard"},"Polkadot Contract Wizard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/ink-wrapper"},"ink-wrapper")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ink-analyzer/ink-vscode"},"ink! Analyzer for VS Code")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract React Hooks"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/useink"},"useink"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scio-labs/use-inkathon"},"useInkathon")),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"IDE Plugins"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ink-analyzer/ink-analyzer"},"Ink! Analyzer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/vscode-substrate"},"Substrate Marketplace VS Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/everstake/vscode-plugin-substrate"},"VS Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/everstake/atom-plugin-substrate"},"Atom Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/zombienet-vscode-extension"},"zombienet extension")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Runtime/Pallet Security"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/srlabs/substrate-runtime-fuzzer"},"Substrate Runtime Fuzzer")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/shawntabrizi/substrate-toml-lint"},"Substrate Toml Lint")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kframework/wasm-semantics"},"K specifications")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSecurity/polpatrol"},"PolPatrol - Polkadot Runtime Checker")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Automated Runtime checking tools, economic audit simulator such as ",(0,o.kt)("a",{parentName:"td",href:"https://gauntlet.network/"},"gauntlet.network"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract Languages"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ask-lang/ask"},"Ask!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/slickup/subscript"},"Subscript")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hyperledger-labs/solang"},"Solang")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink"},"Ink!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eigerco/pallet-move"},"pallet-move")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pontem-network/sp-move"},"Move VM Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/neatcoin/neatcoin"},"Move smart contract by Neatcoin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/727-Ventures/sol2ink"},"Sol2Ink")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pepyakin/substrate-seal-ebpf"},"eBPF Contracts Hackathon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/koute/polkavm"},"PolkaVM")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Functional Programming Languages, other languages with developed toolchains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract Security"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Brushfam/patron-backend/"},"Patron")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-introspector"},"Polkadot introspector")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subdirectory/subshell"},"Subshell")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/sc-simnode"},"substrate-simnode")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/halva-suite/halva"},"Halva")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink-waterfall"},"Ink Waterfall")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/redspot"},"Redspot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mixbytes/tank"},"MixBytes Tank")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NikVolf/sub-flood"},"sub-flood")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-debug-kit"},"Substrate debug-kit")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/JesseAbram/asset_cli_tool"},"Asset CLI tool")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/JesseAbram/unfinished_testing_tool"},"sub_crash")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chevdor/subwasm"},"subwasm")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ascjones/subsee"},"subsee")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-lab"},"polkadot-lab")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dwellir-public/rpc-perf/"},"RPC-perf")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Static Analysis"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KaiserKarel/substrace"},"Substrace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/simon-perriard/saft"},"Static analyzer for Substrate FRAME's pallets")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CoinFabrik/scout"},"CoinFabrik Scout")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testnet"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/zombienet"},"Zombienet")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/chopsticks"},"Chopsticks")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-launch"},"Polkadot Launch")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/koute/polkadot-starship"},"polkadot-starship")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/maxsam4/fork-off-substrate"},"Fork off Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/try-runtime-cli"},"try-runtime-cli")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/parachain-launch"},"Parachain Launch")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zeeve-App/larch"},"Larch Zombienet GUI")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Benchmarking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-sdk/tree/master/substrate/utils/frame/benchmarking-cli"},"Benchmarking CLI")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-stps"},"Polkadot sTPS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/0xekez/clockchain"},"Clockchain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/shawntabrizi/substrate-graph-benchmarks"},"Substrate Graph Benchmarks")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking"},"ink! & pallet benchmarking template")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/smart-bench"},"smart-bench")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Blockchain Indexing Engine"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/subsquid/squid-sdk"},"Squid SDK")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hybrid-explorer/hybrid-indexer"},"Hybrid Indexer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-archive"},"Substrate Archive")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_psql_indexer"},"PSQL Indexer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playzero/substrate-graph"},"Substrate Graph")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OnFinality-io/subql"},"Subquery")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/p2p-org/polkadot-profit-transformer"},"MBELT3")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/stick"},"stick")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Infra3-Network/hyperdot"},"Hyperdot")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Blockchain/Event Monitoring"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/guardian"},"Web3 Guardian")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/HugoByte/aurras-event-manager"},"Aurras Event Manager")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hicommonwealth/chain-events"},"@commonwealth/chain-events")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/massbitchain"},"Massbit")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kianenigma/polkadot-basic-notification"},"Polkadot Basic Notifications")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sodazone/ocelloids"},"Ocelloids")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TrackingChains/TrackingChain"},"Tracking Chain")," \ud83d\udfe2,"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dodorare/crossbow"},"Crossbow")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://amethyst.rs/"},"Amethyst")," + ",(0,o.kt)("a",{parentName:"td",href:"https://substrate.dev/"},"Substrate"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"No-code Platforms"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js"},"EzCode's Polkadot.js plugin on Bubble.io")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Blackprint/nodes-polkadot.js"},"Blackprint Visual Programming Polkadot.js module")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subrelay/interface"},"SubRelay")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman-connect"},"Talisman Connect")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubConnect"},"SubWallet-SubConnect")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nova-wallet/metadata-portal"},"Metadata Portal")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/Tesseract.rs"},"Tesseract")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/walletconnect-v2-monorepo"},"WalletConnect")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/BitGo/BitGoJS/tree/master"},"BitGoJS")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"XCM"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/trappist"},"Trappist")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/xcm-tools"},"XCM-tools")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/substrate-api-rpc"},"XCM-tools Golang")," \ud83d\udfe2,",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paraspell/ui-v2"},"ParaSpell")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/t3rn/xbi"},"XBI")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/xcm-sdk"},"XCM TS/JS SDK")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/asset-transfer-api"},"asset-transfer-api")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/txwrapper-core"},"txwrapper-core")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/open-web3.js"},"open-web3 JS library")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CycanTech/GVM-Bridge"},"VM-Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/srtool"},"srtool")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chevdor/srtool-cli"},"srtool-cli")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-tip-bot"},"Substrate Tip Bot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/syntifi/ori"},"ORI (Onchain Risk Intelligence)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/albertov19/PolkaTools"},"PolkaTools")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-scripts"},"polkadot-scripts")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/virto-network/sube"},"Sube")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/data-store-sidecar"},"data-store-sidecar")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SugarFunge/sugarfunge-node"},"SugarFunge")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/second-state/substrate-wasmedge"},"substrate-wasmedge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eightfish-org/eightfish"},"EightFish")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sandoxio/sandox"},"Sandox")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"ink-smart-contracts"},"ink Smart Contracts"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridges"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dantenetwork/protocol-stack-for-ink"},"Dante Protocol")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DeFi"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/pendulum-ink-wrapper"},"Pendulum-Ink-Wrapper")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RottenKiwi/Panorama-Swap-INK-SC"},"Panorama Swap")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Juminstock/ink_bank"},"ink_bank")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/realnimish/polkadot-amm"},"Polkadot AMM")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/veradefi/defi"},"Vera")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nsure-tech/dot-contract"},"Nsure Insurance")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CycanTech/ELC"},"Everlasting Cash")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Coinversation/coinpro"},"Coinversation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zenlinkpro/zenlink-dex-contract"},"zenlink-dex-contract")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ReserveLabs/AlgoCash"},"AlgoCash")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"New seigniorage-style stable coins")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/OpenEmojiBattler/open-emoji-battler"},"Open Emoji Battler")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs"},"NewOmega")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DAO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/SyncraDAO/modular-dao"},"SyncraDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/subDAO-contracts"},"subDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1"},"RainbowDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Mangoboxlabs/Mangoboxink"},"MangoBox")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Mangoboxlabs/MangoSaleV2"},"MangoSale")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identity/DID"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TheDotflow"},"Dotflow")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Oracle"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/diadata-org/dia-wasm-oracle"},"DIA WASM Oracle")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Spam Protection"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/prosopo-io/integration"},"Prosopo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Tooling"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/h4nsu/openbrush-contracts"},"OpenBrush")," \u2754"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/AbaxFinance/Governance"},"Abax Governance")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ArtZero-io/Contracts"},"ArtZero")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/pnsproject/ink-aa"},"Polkadot Smart Account"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/swankyhub/magink-dapp"},"magink")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/ink-test-contracts"},"ink-test-contracts")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/agryaznov/candle-auction-ink"},"Candle Auctions")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubDAO-Network/polkasign-contract"},"polkasign-contract")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bsn-si/ocex-cli"},"OCEX")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RoloiMoney/roloi-polkadot-w3f-grant"},"Roloi")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadrys/openPayroll"},"OpenPayroll")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/InkSmartContract/BlockchainFoodOrder"},"BlockchainFoodOrder")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"chains-and-pallets"},"Chains and Pallets"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Scalable Transactions"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/perun-network/perun-polkadot-pallet"},"Perun channels")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/perun-network/perun-polkadot-demo"},"CLI demo of Perun")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/Astar"},"Astar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/celer-network/cChannel-substrate"},"Celer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GunClear/Gunero"},"Gunclear")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/BCS-Labs/tpscore-etl-system"},"TPScore")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"roll-ups, DAG-based consensus mechanisms, side chains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridges"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/interlay/interbtc"},"interBTC")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/dkg-substrate"},"DKG Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sygmaprotocol/sygma-substrate-pallets"},"Sygma")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bifrost-finance/bifrost-eos-relay"},"EOS by Bifrost")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-bridge"},"POA - Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/akropolisio/POC-polkadai-bridge"},"Substrate - Ethereum DAI Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-bridge-relay"},"Substrate - Substrate Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chainx-org/ChainX"},"BTC by ChainX")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChorusOne/wormhole-bridge"},"Cosmos-Substrate bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/octopus-network/substrate-ibc"},"Substrate IBC Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Snowfork/polkadot-ethereum"},"Polkadot Ethereum Bridge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/darwinia-network/darwinia"},"Darwinia")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/spacewalk"},"Spacewalk: a Stellar bridge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/filecoindot"},"Filecoindot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/axelar-cgp-substrate/tree/main"},"Axelar-Substrate")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"ZCash")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Privacy"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LayerXcom/zero-chain"},"ZeroChain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/xx-labs/xxchain"},"xx network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Phala-Network/phala-blockchain"},"pLibra (Phala Network)")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/automata-network/automata"},"Automata Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zero-network/zero"},"Zero Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/appliedblockchain/silentdata-polkadot"},"Silent Data")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/anoma/masp"},"Multi-Asset Shielded Pool (MASP)")," , ",(0,o.kt)("a",{parentName:"td",href:"https://arxiv.org/pdf/2009.01020.pdf"},"Zkay"),", ",(0,o.kt)("a",{parentName:"td",href:"https://eprint.iacr.org/2018/962.pdf"},"Zexe"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"ZKP"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example"},"ZeroPool")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/megaclite"},"Megaclite")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/zkmega"},"zkMega")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/plonk"},"PLONK for Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/protocol-substrate"},"Webb Anchor Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/zk-snarks-with-substrate/"},"zk-SNARKs tutorial")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zkvers/substrate-zk"},"substrate-zk")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"TEE"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Acurast/acurast-core"},"Acurast")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/integritee-network/worker"},"Integritee")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scs/substraTEE"},"substraTEE")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/keysafe-protocol/keysafe-app"},"Keysafe Protocol")," \u26aa")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DeFi"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/kapilsinha/privadex"},"PrivaDEX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/uinb/fusotao"},"Fusotao")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/reef-defi/reef-chain"},"Reef")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Diora-Network/Diora"},"Diora")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/pendulum"},"Pendulum Chain")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/compound-finance/gateway"},"Compound Gateway")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/parallel-finance/parallel"},"Parallel Finance")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/PINT"},"PINT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/laminar-protocol/laminar-chain"},"Laminar Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/Acala"},"Acala")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/centrifuge-chain"},"Centrifuge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stafiprotocol/stafi-node"},"Stafi")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/y2labs-0sh/definex"},"Definex")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAXFoundation/parrot"},"OAX Foundation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/alexxuyang/substrate-dex"},"Cybex")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zenlinkpro/pallet-zenlink"},"Zenlink")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/lsaether/pallet-swaps"},"Swaps Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Polkadex-Substrate/Polkadex/tree/master"},"Polkadex")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subdarkdex/subdex-parachain"},"SubDEX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/hack.HydraDX-node"},"HydraDX")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/apopiak/stablecoin"},"Substrate Stablecoin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/digitalnativeinc/standard-substrate"},"Standard protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sora-xor/sora2-network"},"Polkaswap")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/equilibrium-eosdt/equilibrium-curve-amm"},"Curve AMM")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/konomi-network/cumulus/"},"Konomi Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nutsfinance/stable-asset"},"Stable Asset")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/atscaletech/libra"},"Libra Payment")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mangata-finance/mangata-node"},"Mangata")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tidelabs/tidechain"},"Tidechain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/Basilisk-node"},"Basilisk")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/PolymeshAssociation/Polymesh"},"Polymesh")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"DEX with privacy and confidentiality features such as those found in a ",(0,o.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Dark_pool"},"dark pool"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart contract chains"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/moonbeam"},"moonbeam")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/aleph-node"},"Aleph-node")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hicommonwealth/edgeware-node"},"Edgeware")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ParaState/substrate-ssvm-node"},"ParaState")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gear-tech/gear"},"gear")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cennznet/cennznet"},"CENNZnet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/skyekiwi/skyekiwi-network"},"SkyeKiwi")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/OAK-blockchain"},"OAK-blockchain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3labs/ice-substrate"},"ICE Blockchain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OmniBTC/PSC"},"Polkadot Smart Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/keep-starknet-strange/madara"},"Madara - Cairo/Starknet")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"smart contract chains with novel security approaches, smart contract chains based on existing toolchains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Oracle"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/tellor-io/tellor-pallet"},"Tellor")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle"},"Laminar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/smartcontractkit/chainlink-polkadot"},"Chainlink-polkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/aresprotocols/ares"},"Ares Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Kylin-Network/kylin-node"},"Kylin Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/interlay/interbtc-clients/tree/master/oracle"},"interbtc-clients oracle")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/anonima"},"Anonima")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SaaS3-Foundation/dRuntime-fat"},"SaaS3")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tellor-io/tellor-parachain-contracts"},"Tellor")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/diadata-org/bridgestate-ocw"},"Bridgestate Oracle")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identity/DID"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/parami-foundation/parami-blockchain"},"Parami")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/litentry/litentry-parachain"},"Litentry")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/pallet-did"},"pallet-did")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/prasad-kumkar/dot-id"},"dot-id")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"IoT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/NodleCode/chain"},"Nodle")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DataHighway-DHX/node"},"MXC/DataHighway")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/peaqnetwork/peaq-network-node"},"peaq-network-node")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Verifiable Claims"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KILTprotocol/kilt-node"},"KILT")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/docknetwork/dock-substrate"},"Dock")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fennelLabs/Fennel-Protocol"},"Fennel Protocol")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Supply chain"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/digicatapult/dscp-node"},"DSCP Node")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Health care"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Music Industry"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Allfeat/Allfeat"},"Allfeat Network")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Data Availability"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/availproject/avail"},"Avail")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZeroDAO/melodot"},"Melodot")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Social Networking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LibertyDSNP/frequency"},"Frequency")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/social-network/blockchain"},"Social Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subsocial-parachain"},"SubSocial")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZeroDAO/ZeroDAO-node"},"ZeroDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/myriadsocial/myriad-node"},"Myriad Node")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/randombishop/wika_etl"},"Wika Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LibertyDSNP/mrc"},"Project Liberty")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/listenofficial/listen-parachain"},"Listen")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tribal-protocol/tribal_contract"},"Tribal Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rust-0x0/hex-space-protocol-substrate"},"Five Degrees on Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/acuity-social/acuity-substrate"},"Acuity Social")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Private instant messenger that uses on-chain identity")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance/DAO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/aisland-dao/aisland-node/tree/main"},"Aisland Node"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashed-io/hashed-substrate"},"Hashed Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sunshine-protocol/sunshine-bounty"},"Sunshine DAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NucleiStudio/governance-os"},"Governance OS")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/idavollnetwork/idavoll"},"Idavoll Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DoraFactory/Substrate-Moloch-V2"},"Substrate Moloch")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Qrucial/QRUCIAL-DAO"},"QRUCIAL-DAO")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sctllabs/societal-node"},"Societal")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/daos-org/daos"},"DAOs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/amiyatulu/shivarthu/"},"Shivarthu")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/faterium"},"Faterium")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/decentration/apps"},"Supersig")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/deep-ink-ventures/genesis-dao-node"},"GenesisDAO")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dao-entrance/dao-entrance-node"},"DAO Entrance")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/liberland/liberland_substrate"},"Liberland")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/consul/consul"},"Consul")," - Open Government and E-Participation Web Software")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Prediction Markets and Futarchy"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/zeitgeistpm/zeitgeist"},"Zeitgeist")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/XPredictMarket/NodePredict"},"X Predict Market")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Messaging"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/validitylabs/HOPR-PL-Substrate"},"HOPR")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chainify/nolik"},"Nolik")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Uke-Messaging/uke-pallet"},"Uke")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Belsoft-rs/diffychat-pallet"},"Diffy Chat")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"File Storage, Cloud"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subsocial-offchain"},"Subsocial-Offchain")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playproject-io/datdot"},"DatDot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/crustio/crust"},"Crust Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rs-ipfs/offchain-ipfs-manual"},"offchain::ipfs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/canyon-network/canyon"},"Canyon Network")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cumulus2021/cess"},"CESS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/cess-proving-system"},"CESS Proving Subsystem")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ideal-lab5/iris"},"Iris")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/fmd-cess"},"fmd-cess")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw"},"IPFS Frame V3")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/threefoldtech/tfchain"},"Threefold Chain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Apron-Network/apron-node"},"Apron")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TDSoftware/substrate-ipfs"},"IPFS Utilities")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Name Service"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/xaya/substrate-names"},"Substrate Names")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hskang9/substrate-name-service"},"ENS on Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pnsproject/pns-pallets"},"PNS-Pallets")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/HeisenbergLin22/Faceless_milestone2_delivery"},"Faceless")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ff13dfly/Anchor"},"Anchor")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/bit-country/Bit-Country-Blockchain"},"Bit.country")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubGame-Network/subgame-network"},"SubGame")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playzero/subzero"},"subzero")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3gamesofficial/web3games-blockchain"},"Web3Games")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ajuna-network/Ajuna"},"Ajuna Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cryptoviet/gafi"},"Gafi Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://gitlab.com/asylum-space/asylum-item-nft"},"Asylum")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/3Dpass/3DP"},"3DPass")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polketio/toearnfun_flutter_app"},"Polket")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Computation/AI"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/DeepBrainChain/DeepBrainChain-MainChain"},"DeepBrain Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/anudit/cerebrum"},"AI Infrastructure on Blockchain")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Enable specific use-cases"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/deep-ink-ventures/pallet_hookpoints"},"pallet-hookpoints"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/substrate-node-robonomics"},"Robonomics")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/UniversalDot/pallets"},"UniversalDOT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/EvercityEcosystem/evercity-chain"},"Evercity Sustainable Finance Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fennelLabs/Fennel-Protocol"},"Fennel Protocol")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/logion-network/logion-node"},"logion")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/capsule-corp-ternoa/chain"},"ternoa")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/danforbes/pallet-nft"},"FRAME Pallet: NFTs for Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/UniqueNetwork/unique-chain"},"Unique NFT Parachain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets"},"DNFT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rmrk-team/rmrk-substrate"},"RMRK-Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Popular-Coding/nt-nft"},"NT-NFTs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GreenLemonProtocol/dksap-polkadot"},"Green Lemon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/Basilisk-node"},"Basilisk")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Randomness"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon"},"DKG and Randomness Beacon")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/random-meat/drand-substrate-client"},"drand-substrate-client")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Licensing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/anagolay/anagolay-chain"},"Anagolay Network")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Banking Integration"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/element36-io/ebics-java-service"},"FIAT on-off-ramp")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Crowdfunding"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ImbueNetwork/imbue"},"Imbue Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zhangjiannan/QFgrant"},"Quadratic Funding pallet by Dora")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master"},"Quadratic Funding pallet by OAK")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413"},"Minimum Anti-Collusion Infrastructure (MACI)"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Collection of Pallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/open-runtime-module-library"},"Substrate Open Runtime Module Library")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/warehouse"},"warehouse")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/InvArch/InvArch-Frames"},"InvArch FRAME Pallet Library")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Marketplaces"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/WowLabz/dot-marketplace-v2/tree/Phase3_Milestone3"},"Dot Marketplace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashed-io/hashed-substrate/tree/main/pallets/gated-marketplace"},"Gated Marketplace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Popular-Coding/ventur"},"Ventur")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Carbon Credits"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/bitgreen/bitg-node"},"BitGreen")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/EvercityEcosystem/carbon-assets"},"Carbon Assets Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SequesterChain/pallets"},"Sequester Pallets")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"UTXO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Off-Narrative-Labs/Tuxedo"},"Tuxedo")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Moonsong-Labs/moonkit"},"Moonkit")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/substrate-account-filter"},"Substrate Account Filter")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opentensor/subtensor"},"Subtensor")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AdMetaNetwork/admeta"},"AdMeta")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chocolatenetwork/chocolate-node"},"Chocolate Node")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/virto-network/virto-node"},"Virto Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/substrate-validator-set"},"Substrate Validator Set")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DEIPworld/deip-node"},"DEIP")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/debionetwork/debio-node"},"DeBio")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mathwallet/MathChain"},"MathChain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/encointer/encointer-node"},"encointer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/grasslandnetwork/substrate_node"},"Grassland")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rusty-crewmates/substrate-tutorials"},"Substrate-Tutorials")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Fair-Squares/fair-squares"},"Fair Squares")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/totem-tech/totem"},"Totem Live Accounting")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/herou/EscrowPallet"},"Escrow Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NexTokenTech/TREX"},"TREX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/relationlabs/Relation-Graph"},"Relation Graph")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gertt/Invoice"},"Decentralized Invoice")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/redstone-network/redstone-node"},"Redstone Network")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/WunderbarNetwork/access-control"},"Access Control Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Omniverse-Web3-Labs/omniverse-swap/tree/web3-grant"},"Omniverse DLT")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/substrate-ismp"},"ISMP")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/xcmp_prototype_playground"},"XCMP")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dhiway/cord"},"CORD Chain")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Decentralized review/reputation system")))),(0,o.kt)("h3",{id:"host"},"Host"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Rust"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate"},"Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/cumulus"},"Cumulus")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"C++"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/kagome"},"Kagome")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/mayon"},"Mayon")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Go"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/gossamer"},"Gossamer")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Java"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/Fruzhin"},"Fruzhin")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/java-host-research"},"Java Host Research")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"AssemblyScript"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Light Client"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/smol-dot/smoldot"},"smoldot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-connect"},"Substrate Connect")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eqlabs/polkadot-light-client"},"C++ Polkadot Light Client")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/polkadot-conformance"},"Polkadot Conformance")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sigp/polkafuzz"},"Polkafuzz")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"network-maintenance-tools"},"Network Maintenance Tools"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Secure validator setup"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkachu/polkadot-validator"},"Polkadot Validation Node Ansible Setup")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-validator-setup"},"W3F Polkadot Validator Setup")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nexus2k/polkadot-ansible"},"polkadot-ansible")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"High availability setup"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/luguslabs/archipel"},"Archipel")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/protofire/polkadot-failover-mechanism"},"Polkadot Failover Mechanism")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Datagen-Project/Datagen-Substrate-Grant"},"Datagen")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/substrate-raft"},"High Availability Validator Setup")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Load Balanced Endpoints"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/insight-w3f/terragrunt-polkadot"},"terragrunt-polkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sudoblockio/substrate-meta"},"Geometry Labs' Substrate Meta repo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Deployment Tools"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Blockdaemon/bpm-sdk"},"Polkadot Package Manager")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/akropolisio/polkahub-monorepo"},"PolkaHub")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom"},"Avado")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-deployer"},"Polkadot Deployer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/for-parity-with-love/unified-collator-node-deployment"},"Unified Collator Deployment")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator monitoring"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/turboflakes/one-t"},"ONE-T")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/subvt-backend"},"SubVT")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SimplyVC/panic"},"P.A.N.I.C.")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/polkalert"},"Polkalert")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nodebreaker0-0/substrate/tree/prometheus_v0.3"},"B-Harvest")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stakezone/nmonpolkadot"},"nmonpolkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ironoa/polkadot-k8s-monitor"},"Polkadot-K8s-Monitor")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-watcher"},"Polkadot-Watcher")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot"},"1KV Telegram Bot")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator payout management"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Colm3na/substrate-auto-payout"},"Substrate validator auto payout")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-payouts"},"Polkadot Payouts")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emostov/staking-payouts"},"staking-payouts CLI")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stakelink/substrate-payctl"},"Payctl")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/turboflakes/crunch"},"crunch")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Staking Miner"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/staking-miner-v2"},"Staking Miner v2")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Nominator Tools"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/miepsik/validators_selection"},"Validator Selection")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/filippoweb3/polkanalyzer"},"Polkanalyzer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/filippoweb3/polkanalyzer-app"},"Polkanalyzer-app")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"signatures"},"Signatures"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"SR25519"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/schnorrkel"},"rust")," \ud83d\udfe2(contains partial bindings for C, JavaScript, and Python), ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/sr25519-dotnet"},".Net bindings")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/sr25519"},"C")," \u26aa",(0,o.kt)("em",{parentName:"td"},"(old)"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TerenceGe/sr25519-donna"},"C")," \u26aa",(0,o.kt)("em",{parentName:"td"},"(new)"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/soramitsu-sr25519-crust"},"C/C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/sr25519_dotnet"},"C#")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/go-schnorrkel"},"Go")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/debuggor/schnorrkel-java"},"java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/sr25519-bindings"},"PHP")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Signature Aggregation"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/apk-proofs"},"apk-proofs")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Distributed key generation (DKG) or management"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/isislovecruft/frost-dalek"},"keygen.rs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/sword"},"Secure Wallet Origin Distribution (SWORD)")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator HSMs"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/buildroot-zondax"},"Zondax Remote Signer")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"consensus"},"Consensus"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"PoC"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/subspace/substrate"},"Spartan")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"PoW"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/pow"},"PoW consensus for Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kulupu/kulupu/tree/master/pow"},"RandomX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/recipes/tree/master/consensus/sha3pow"},"Sha3 PoW")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Block production"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/babe"},"BABE")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/aura"},"Aura")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Finality"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/frame/grandpa"},"GRANDPA")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/AlephBFT"},"AlephBFT")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/nimbus"},"Nimbus: Upgradeable consensus framework")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"networking"},"Networking"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"SCALE Codec"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-scale-codec"},"Rust")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-scale-codec-ts"},"TypeScript")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/py-scale-codec"},"Python")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/gossamer/tree/development/pkg/scale/"},"Golang Chainsafe")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/scale.go"},"Golang Itering")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/MatthewDarnell/cScale"},"C")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/scale-codec-cpp"},"C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/api"},"JavaScript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/as-scale-codec"},"AssemblyScript")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/hs-web3/tree/master/packages/scale/src/Codec"},"Haskell")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkaj"},"Java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/scale.rb"},"Ruby")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nbltrust/dart-scale-codec"},"Dart")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/swift-scale-codec"},"Swift")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/scale-codec-swift"},"scale-codec-swift")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/scale-codec-kotlin"},"scale-codec-kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/php-scale-codec"},"PHP")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/scale-codec-js-library"},"JavaScript by Soramitsu")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/scale-codec-comparator"},"Scale Codec Comparator")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/darwinia-network/darwinia-messages-sol/blob/master/contracts/utils/contracts/ScaleCodec.sol"},"ScaleCodec.sol by Darwinia")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Snowfork/snowbridge/blob/main/core/packages/contracts/contracts/ScaleCodec.sol"},"ScaleCodec.sol by Snowfork")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/arijitAD/dotscale"},"Dotscale")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Networking Framework"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/libp2p/libp2p"},"libp2p")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DHT Crawler"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/atredispartners/dht-crawler-polkadot"},"Go")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkabot"},"Kotlin")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"RPC Tor-like access"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Evanesco-Labs/WhiteNoise.rs"},"WhiteNoise")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"primitives"},"Primitives"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Storage"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/frisitano/merkle-tree-db"},"Merkle Tree DB")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Merkle Proofs"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/solidity-merkle-trees"},"Solidity Trie Verifier")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h2",{id:"contributing"},"Contributing"),(0,o.kt)("p",null,"Pull requests, issues, or other contributions from the community are encouraged! You can not only\nadd specific projects, but also potentially interesting fields/areas which are currently missing in\nthe tech stack."),(0,o.kt)("p",null,"\u2757 All technologies listed above need to be open-source. Ideally, the links\nlead directly to the code."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: You will need a GitHub account to suggest changes or open issues. If you do not have one, you\nmay ",(0,o.kt)("a",{parentName:"em",href:"https://github.com/join"},"sign up for free"),".")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ccc1222e.b0cddc5b.js b/assets/js/ccc1222e.b0cddc5b.js new file mode 100644 index 000000000000..2431364d150d --- /dev/null +++ b/assets/js/ccc1222e.b0cddc5b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6920],{3905:(t,a,e)=>{e.d(a,{Zo:()=>m,kt:()=>k});var r=e(67294);function n(t,a,e){return a in t?Object.defineProperty(t,a,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[a]=e,t}function o(t,a){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),e.push.apply(e,r)}return e}function i(t){for(var a=1;a=0||(n[e]=t[e]);return n}(t,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(n[e]=t[e])}return n}var p=r.createContext({}),h=function(t){var a=r.useContext(p),e=a;return t&&(e="function"==typeof t?t(a):i(i({},a),t)),e},m=function(t){var a=h(t.components);return r.createElement(p.Provider,{value:a},t.children)},s="mdxType",d={inlineCode:"code",wrapper:function(t){var a=t.children;return r.createElement(r.Fragment,{},a)}},u=r.forwardRef((function(t,a){var e=t.components,n=t.mdxType,o=t.originalType,p=t.parentName,m=l(t,["components","mdxType","originalType","parentName"]),s=h(e),u=n,k=s["".concat(p,".").concat(u)]||s[u]||d[u]||o;return e?r.createElement(k,i(i({ref:a},m),{},{components:e})):r.createElement(k,i({ref:a},m))}));function k(t,a){var e=arguments,n=a&&a.mdxType;if("string"==typeof t||n){var o=e.length,i=new Array(o);i[0]=u;var l={};for(var p in a)hasOwnProperty.call(a,p)&&(l[p]=a[p]);l.originalType=t,l[s]="string"==typeof t?t:n,i[1]=l;for(var h=2;h{e.r(a),e.d(a,{assets:()=>m,contentTitle:()=>p,default:()=>k,frontMatter:()=>l,metadata:()=>h,toc:()=>s});var r=e(87462),n=e(63366),o=(e(67294),e(3905)),i=["components"],l={id:"build-open-source",title:"Open Source Stack",sidebar_label:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",keywords:["open","source","development","code","resources","tools","apis"],slug:"../build-open-source"},p="Open Source Polkadot Stack \x3c!-- omit in toc --\x3e",h={unversionedId:"build/build-open-source",id:"build/build-open-source",title:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",source:"@site/../docs/build/build-open-source.md",sourceDirName:"build",slug:"/build-open-source",permalink:"/docs/build-open-source",draft:!1,editUrl:"https://github.com/w3f/polkadot-wiki/edit/master/docs/build/build-open-source.md",tags:[],version:"current",lastUpdatedBy:"Nikhil W3F",lastUpdatedAt:1695906053,formattedLastUpdatedAt:"Sep 28, 2023",frontMatter:{id:"build-open-source",title:"Open Source Stack",sidebar_label:"Open Source Stack",description:"Overview of the open source Polkadot/Kusama Tech Stack",keywords:["open","source","development","code","resources","tools","apis"],slug:"../build-open-source"},sidebar:"docs",previous:{title:"Tool Index",permalink:"/docs/build-tools-index"},next:{title:"Hackathons",permalink:"/docs/build-hackathon"}},m={},s=[{value:"About",id:"about",level:2},{value:"Layers of Polkadot Stack",id:"layers-of-polkadot-stack",level:2},{value:"Wallets",id:"wallets",level:3},{value:"User Interface",id:"user-interface",level:3},{value:"Tools, APIs, and Languages",id:"tools-apis-and-languages",level:3},{value:"ink Smart Contracts",id:"ink-smart-contracts",level:3},{value:"Chains and Pallets",id:"chains-and-pallets",level:3},{value:"Host",id:"host",level:3},{value:"Network Maintenance Tools",id:"network-maintenance-tools",level:3},{value:"Signatures",id:"signatures",level:3},{value:"Consensus",id:"consensus",level:3},{value:"Networking",id:"networking",level:3},{value:"Primitives",id:"primitives",level:3},{value:"Contributing",id:"contributing",level:2}],d={toc:s},u="wrapper";function k(t){var a=t.components,e=(0,n.Z)(t,i);return(0,o.kt)(u,(0,r.Z)({},d,e,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"open-source-polkadot-stack--omit-in-toc-"},"Open Source Polkadot Stack "),(0,o.kt)("admonition",{title:"Do your research before using open-source tools",type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The tools listed here are open-source and are linked directly to their source code. Before using these tools to build your projects, always ",(0,o.kt)("a",{parentName:"p",href:"/docs/how-to-dyor"},"do your research")," and be aware of ",(0,o.kt)("a",{parentName:"p",href:"/docs/learn-scams"},"scams"),".")),(0,o.kt)("p",null,"This page aims to provide an overview of the open-source Polkadot Tech Stack."),(0,o.kt)("p",null,"This is a living document, and we rely on everyone to contribute and help maintain\nit. ",(0,o.kt)("a",{parentName:"p",href:"#contributing"},(0,o.kt)("strong",{parentName:"a"},"Please feel free to make edits and additions via pull requests")),". We\napologize if we missed your project!"),(0,o.kt)("hr",null),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#about"},"About")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#layers-of-polkadot-stack"},"Layers of Polkadot Stack"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#wallets"},"Wallets")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#user-interface"},"User Interface")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#tools-apis-and-languages"},"Tools, APIs, and Languages")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#ink-smart-contracts"},"ink Smart Contracts")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#chains-and-pallets"},"Chains and Pallets")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#host"},"Host")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#network-maintenance-tools"},"Network Maintenance Tools")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#signatures"},"Signatures")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#consensus"},"Consensus")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#networking"},"Networking")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#primitives"},"Primitives")))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#contributing"},"Contributing"))),(0,o.kt)("h2",{id:"about"},"About"),(0,o.kt)("p",null,"The Polkadot Tech Stack is a subset of the Web 3.0 Tech Stack, which consists of the ",(0,o.kt)("strong",{parentName:"p"},"open-source"),"\ntechnologies contributing to and relying on ",(0,o.kt)("a",{parentName:"p",href:"https://polkadot.network/"},"Polkadot"),". It is meant to be used\nfor decentralized application (Dapp) development within numerous verticals, including DeFi, Gaming,\nProvenance and many others not pictured below."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"|------|--------|------------|\n| DeFi | Gaming | Provenance |\n|______|________|____________|\n Dapps\n|--------------------------/-|\n| Explorers, Wallets / |\n|------------------------/---|\n| Tools, Apis, Languages/ |\n|----------------------/-----|\n| 2nd layer protocols / |\n|--------------------/-------|\n| Chains / other |\n|------------------/--- --|\n| *Polkadot* | tech |\n|------------------\\---------|\n| P2P, Crypto, Wasm \\ |\n|--------------------\\-------|\n")),(0,o.kt)("h2",{id:"layers-of-polkadot-stack"},"Layers of Polkadot Stack"),(0,o.kt)("p",null,"In the below sections, you can find a list of different layers of the Polkadot Stack."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Maintenance Status"),":"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"\ud83d\udfe2 Actively maintained"),(0,o.kt)("li",{parentName:"ul"},"\ud83d\udfe1 Stale (no activity on the main branch for one month)"),(0,o.kt)("li",{parentName:"ul"},"\u26aa Unmaintained (no activity on the main branch for more than three months)")),(0,o.kt)("h3",{id:"wallets"},"Wallets"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Web Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/Multix"},"Multix")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkasafe/polkasafe-ui"},"Polkasafe")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/apps"},"polkadot-js/apps")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman-web"},"Talisman Web Application")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/enkryptcom/mydotwallet"},"mydotwallet")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subid"},"Sub ID")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Primis-Labs/client"},"Primis")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3finance/sakura"},"Sakura")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/Web3Box-apps"},"Web3Box")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CoongCrafts/coong-wallet"},"Coong Wallet")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan-multisig-react"},"Subscan Multisig UI - React")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan-multisig-ui"},"Subscan Multisig UI")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DoraFactory/dorafactory-multisig"},"Dorafactory-Multisig")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/capi-multisig-app"},"Capi Multisig App")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"User-friendly Wallet based on the ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/frame/recovery"},"Recovery Pallet"),", Web wallets focused on user-onboarding (e.g. using ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/near/near-wallet"},"localStorage"),")")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Desktop Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/novasamatech/nova-spektr"},"nova-spektr")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/omni-desktop-prototype"},"Omni desktop")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Enterprise Wallets")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Browser Extensions"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman"},"Talisman-Extension")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubWallet-Extension"},"SubWallet-Extension")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/enkryptcom/enKrypt"},"Enkrypt")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/extension"},"Polkadot{.js}")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nick-1979/polkadot-Js-Plus-extension"},"Polkadot-Js-Plus-Extension")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainBridgeNetworkTeam/Doter"},"Doter")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GetSpeckle/speckle-browser-extension"},"Speckle OS")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/kuma-wallet"},"Kuma Cross-chain Wallet")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Sign-in with your Polkadot, Kusama, etc. account.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Mobile Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/airgap-it/airgap-wallet"},"AirGap")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubWallet-Mobile"},"SubWallet-Mobile")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/luniehq/lunie"},"Lunie")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkawallet-io/polkawallet-flutter"},"Polkawallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-signer"},"Parity Signer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/consenlabs/token-core"},"imToken")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/fearless-Android"},"Fearless Wallet Android")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/fearless-iOS"},"Fearless Wallet iOS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stylo-app/stylo"},"Stylo")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nova-wallet/nova-utils"},"Nova Wallet")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fractapp/fractapp/"},"Fractapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Interstellar-Network/wallet-app"},"Interstellar Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hypha-dao/hashed-wallet"},"Hashed Wallet")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Burner Wallets/Faucet/Gifts"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/hamidra/dotdrop"},"dotdrop")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/vue-polkadot/apps"},"KodaDot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/astar-faucet-bot"},"Astar Faucet Bot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/karooolis/sybil-resistant-substrate-faucet"},"Generic sybil-resistant faucet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/StringNick/sybil-resistant-chat-bot-substrate-faucet"},"sybil-resistant Chat Bot Faucet")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"Faucet (a sybil-resistant way to receive free tokens)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Wallet Plugins"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/metamask-snap-polkadot"},"Metamask-Snap by Chainsafe")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"CLI Wallet"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/yxf/subwallet"},"Subwallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/canontech/proxy-hot-wallet"},"Proxy-hot-wallet")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Hardware Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZondaX/ledger-polkadot"},"Ledger Polkadot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-kusama"},"Ledger Kusama")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-statemint"},"Ledger Statemint")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/ledger-statemine"},"Ledger Statemine")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Trezor")))),(0,o.kt)("h3",{id:"user-interface"},"User Interface"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Block Explorers"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/topmonks/calamar"},"Calamar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/colorfulnotion/polkaholic"},"Polkaholic")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/explorer-api"},"Polkascan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Colm3na/polkastats-backend"},"Polkastats")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/subscan"},"Subscan")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/statescan"},"Statescan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/edgeware-builders/edgscan"},"Edgscan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3labs/epirus-substrate"},"Sirato")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/ink-substrate-explorer-api"},"Ink! Explorer API")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/substats"},"Substats")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hybrid-explorer/hybrid-dapp"},"Hybrid Block Explorer")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"Mempool focused explorer (including parachain transaction)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator Dashboards"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-telemetry"},"Polkadot Telemetry")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashquark-io/polkacube-frontend"},"Polkacube")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/buidl-labs/YieldScan"},"YieldScan")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-community/hubble/tree/master/app/controllers/polkadot"},"Hubble")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ArthurHoeke/cyclops"},"Cyclops")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3go-xyz/web3go-xyz-v2"},"Web3Go")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Node Explorers"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/protos-research/polkadot-node-explorer"},"Polkadot Node Explorer")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT Explorer"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/nft-gallery"},"NFT Explorer for Kusama & Polkadot")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance Dashboards"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/governance-ui"},"Polkadot Delegation Dashboard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/premiurly/polkassembly"},"Polkassembly")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/dotreasury"},"dotreasury")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/bright-tresury"},"Bright Treasury")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/collaboration"},"OpenSquare offchain voting")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/wpank/open-gov-insights"},"OpenGov Insights")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"UI for the Kusama and/or Polkadot treasury (see ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/pull/5715"},"bounty module"),"), UI for Parachain Lease Offering (PLO)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Staking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/staking-rewards-collector"},"Staking Rewards Collector")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/jackson-harris-iii/staking-rewards-viewer"},"Staking Rewards Viewer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cryptolab-network/polkadot-staking-site"},"Polkadot Staking Site")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-staking-dashboard"},"Polkadot Staking Dashboard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/James-Sangalli/dot-validator-selector"},"Polkadot/Kusama Validator Selector")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/James-Sangalli/dot-staking-income"},"Staking Income CSV Generator")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridge UI"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-bridges-ui"},"Parity Bridges UI")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nutbox-dao/donut-interface"},"Donut Interface (Steem - Dot)")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Parachain/Crowdloan"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/jhonalino/parachains.network"},"Parachains.Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CrommVardek/polk-auction-ui"},"PolkAuction")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/10clouds/crowdloan-template"},"Crowdloan Front End Template")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hack-ink/slothunter/"},"Slothunter")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identicon"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/RidOne-technologies/polkadot-web-identicon"},"PolkadotWebIdenticon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RidOne-technologies/polkadot-angular-identicon"},"Polkadot Angular IdentIcon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Noc2/Bird-Identicon"},"Bird Identicon")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KappaSigmaMu/ksm-app"},"KappaSigmaMu Fratority")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/quadratic-funding-webapp"},"Quadratic Funding Webapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://gitlab.com/polkawatch/polkawatch"},"Polkawatch"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bytepayment/bytepay"},"Bytepay")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Delmonicos/charging-management-platform"},"charging-management-platform")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TDSoftware/subidentity-webapp"},"subidentity-webapp")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opensquare-network/paid-qa/"},"OpenSquare Paid QA")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CrossChainLabs-DOT/dotpulse-api"},"DotPulse")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bsn-si/rubeus-smartcontract"},"Rubeus Keeper")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/justmert/eco-flow-frontend"},"Polkaflow")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/chainviz-v1"},"ChainViz")," \u2754, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fidi-tech/dotsight"},"Dotsight")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://docs.sui.io/build/zk_login"},"zkLogin"),", Portfolio Viewer like Zapper or Zerion")))),(0,o.kt)("h3",{id:"tools-apis-and-languages"},"Tools, APIs, and Languages"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Runtime/Parachain frameworks"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-sdk"},"Polkadot Blockchain SDK")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/gosemble"},"Gosemble")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/subsembly"},"Subsembly")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/parachain-utilities"},"Parachain utilities")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gantree-io/gantree-core"},"Gantree")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Tools to create parachains with other frameworks, like the ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cosmos/cosmos-sdk"},"Cosmos SDK")," or ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/0xPolygon/cdk-validium-node"},"Polygon CDK"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Client Libraries"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/capi"},"Capi - Typescript")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/packages/tree/main/sub-api"},"sub-api")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/go-substrate-rpc-client"},"Go")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_api_dotnet"},".Net")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ajuna-network/Ajuna.NetApi"},".NET Standard 2.0")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubstrateGaming/Substrate.NET.Toolchain"},"Substrate .NET Toolchain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_api_cpp"},"C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/finoabanking/substrate-c-tool"},"C")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/hs-web3"},"Haskell")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/api"},"Javascript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-api-sidecar"},"Substrate API Sidecar - TypeScript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/py-substrate-interface"},"Python")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkaj"},"Java (+ Android)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/strategyobject/substrate-client-java"},"Substrate Client Java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scs/substrate-api-client"},"Rust SCS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/subxt"},"Rust Parity (subxt)")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/trevor-crypto"},"Rust pdotc")," ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/php-substrate-api"},"PHP (gmajor-encrypt)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/neha0921/substrate-interface-package"},"PHP (neha0921)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/frontier"},"RPC-Ethereum")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/Substrate.swift"},"Swift")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NodleCode/substrate-client-kotlin"},"Kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/substrate-client-kotlin"},"substrate-client-kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/substrate-client-swift"},"substrate-client-swift")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rankanizer/polkadart"},"Dart")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polywrap/integrations"},"Substrate Core Polywrapper")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"RPC Gateway"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/subway"},"Subway")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Substrate Contract clients"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/go-patract"},"PatractGo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Easy Runtime Development"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/hack-ink/subalfred"},"Subalfred")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kaichaosun/substrate-stencil"},"substrate-stencil")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kaichaosun/play-substrate"},"Play Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/substrate-node-template"},"substrate-node-template")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-playground"},"Substrate Playground")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/as-substrate-runtime"},"AssemblyScript Runtime Generation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/clearloop/sup"},"Substrate Package Manager")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/subsembly"},"Subsembly: Framework for developing AssemblyScript Substrate Runtimes")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bkchr/diener"},"dependency diener")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Easy Smart Contract Development"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/swankyhub/swanky-cli"},"Swanky-cli")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/727-ventures/typechain-polkadot"},"Typechain Polkadot")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink-playground"},"ink-playground")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/drink"},"DRink!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockchain-it-hr/ink-remix-plugin"},"Ink! Remix Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/standardweb3/signac/"},"Signac")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scio-labs/inkathon"},"INK!athon")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/avirajkhare00/ink-boxes/"},"ink!-boxes")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/avirajkhare00/ink-wizard"},"ink!-smart-contract-wizard")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/protofire/polkadot-contract-wizard"},"Polkadot Contract Wizard")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/ink-wrapper"},"ink-wrapper")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ink-analyzer/ink-vscode"},"ink! Analyzer for VS Code")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract React Hooks"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/useink"},"useink"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scio-labs/use-inkathon"},"useInkathon")),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"IDE Plugins"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ink-analyzer/ink-analyzer"},"Ink! Analyzer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/vscode-substrate"},"Substrate Marketplace VS Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/everstake/vscode-plugin-substrate"},"VS Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/everstake/atom-plugin-substrate"},"Atom Code Plugin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/zombienet-vscode-extension"},"zombienet extension")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Runtime/Pallet Security"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/srlabs/substrate-runtime-fuzzer"},"Substrate Runtime Fuzzer")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/shawntabrizi/substrate-toml-lint"},"Substrate Toml Lint")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kframework/wasm-semantics"},"K specifications")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSecurity/polpatrol"},"PolPatrol - Polkadot Runtime Checker")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Automated Runtime checking tools, economic audit simulator such as ",(0,o.kt)("a",{parentName:"td",href:"https://gauntlet.network/"},"gauntlet.network"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract Languages"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ask-lang/ask"},"Ask!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/slickup/subscript"},"Subscript")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hyperledger-labs/solang"},"Solang")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink"},"Ink!")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eigerco/pallet-move"},"pallet-move")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pontem-network/sp-move"},"Move VM Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/neatcoin/neatcoin"},"Move smart contract by Neatcoin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/727-Ventures/sol2ink"},"Sol2Ink")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pepyakin/substrate-seal-ebpf"},"eBPF Contracts Hackathon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/koute/polkavm"},"PolkaVM")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Functional Programming Languages, other languages with developed toolchains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart Contract Security"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Brushfam/patron-backend/"},"Patron")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-introspector"},"Polkadot introspector")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subdirectory/subshell"},"Subshell")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/sc-simnode"},"substrate-simnode")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/halva-suite/halva"},"Halva")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/ink-waterfall"},"Ink Waterfall")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/redspot"},"Redspot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mixbytes/tank"},"MixBytes Tank")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NikVolf/sub-flood"},"sub-flood")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-debug-kit"},"Substrate debug-kit")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/JesseAbram/asset_cli_tool"},"Asset CLI tool")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/JesseAbram/unfinished_testing_tool"},"sub_crash")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chevdor/subwasm"},"subwasm")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ascjones/subsee"},"subsee")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-lab"},"polkadot-lab")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dwellir-public/rpc-perf/"},"RPC-perf")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Static Analysis"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KaiserKarel/substrace"},"Substrace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/simon-perriard/saft"},"Static analyzer for Substrate FRAME's pallets")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CoinFabrik/scout"},"CoinFabrik Scout")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testnet"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/zombienet"},"Zombienet")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/chopsticks"},"Chopsticks")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-launch"},"Polkadot Launch")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/koute/polkadot-starship"},"polkadot-starship")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/maxsam4/fork-off-substrate"},"Fork off Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/try-runtime-cli"},"try-runtime-cli")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/parachain-launch"},"Parachain Launch")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zeeve-App/larch"},"Larch Zombienet GUI")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Benchmarking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-sdk/tree/master/substrate/utils/frame/benchmarking-cli"},"Benchmarking CLI")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-stps"},"Polkadot sTPS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/0xekez/clockchain"},"Clockchain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/shawntabrizi/substrate-graph-benchmarks"},"Substrate Graph Benchmarks")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking"},"ink! & pallet benchmarking template")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/smart-bench"},"smart-bench")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Blockchain Indexing Engine"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/subsquid/squid-sdk"},"Squid SDK")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hybrid-explorer/hybrid-indexer"},"Hybrid Indexer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-archive"},"Substrate Archive")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/polkadot_psql_indexer"},"PSQL Indexer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playzero/substrate-graph"},"Substrate Graph")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OnFinality-io/subql"},"Subquery")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/p2p-org/polkadot-profit-transformer"},"MBELT3")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kodadot/stick"},"stick")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Infra3-Network/hyperdot"},"Hyperdot")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Blockchain/Event Monitoring"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/guardian"},"Web3 Guardian")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/HugoByte/aurras-event-manager"},"Aurras Event Manager")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hicommonwealth/chain-events"},"@commonwealth/chain-events")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/massbitchain"},"Massbit")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kianenigma/polkadot-basic-notification"},"Polkadot Basic Notifications")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sodazone/ocelloids"},"Ocelloids")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TrackingChains/TrackingChain"},"Tracking Chain")," \ud83d\udfe2,"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dodorare/crossbow"},"Crossbow")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://amethyst.rs/"},"Amethyst")," + ",(0,o.kt)("a",{parentName:"td",href:"https://substrate.dev/"},"Substrate"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"No-code Platforms"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/NovaBloq/Bubble-Plugin-Polkadot.js"},"EzCode's Polkadot.js plugin on Bubble.io")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Blackprint/nodes-polkadot.js"},"Blackprint Visual Programming Polkadot.js module")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subrelay/interface"},"SubRelay")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Wallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TalismanSociety/talisman-connect"},"Talisman Connect")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Koniverse/SubConnect"},"SubWallet-SubConnect")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nova-wallet/metadata-portal"},"Metadata Portal")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/Tesseract.rs"},"Tesseract")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/walletconnect-v2-monorepo"},"WalletConnect")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/BitGo/BitGoJS/tree/master"},"BitGoJS")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"XCM"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/trappist"},"Trappist")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/xcm-tools"},"XCM-tools")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/substrate-api-rpc"},"XCM-tools Golang")," \ud83d\udfe2,",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paraspell/ui-v2"},"ParaSpell")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/t3rn/xbi"},"XBI")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/blockcoders/xcm-sdk"},"XCM TS/JS SDK")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/asset-transfer-api"},"asset-transfer-api")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/txwrapper-core"},"txwrapper-core")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/open-web3.js"},"open-web3 JS library")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CycanTech/GVM-Bridge"},"VM-Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/srtool"},"srtool")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chevdor/srtool-cli"},"srtool-cli")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-tip-bot"},"Substrate Tip Bot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/syntifi/ori"},"ORI (Onchain Risk Intelligence)")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/albertov19/PolkaTools"},"PolkaTools")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/polkadot-scripts"},"polkadot-scripts")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/virto-network/sube"},"Sube")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/data-store-sidecar"},"data-store-sidecar")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SugarFunge/sugarfunge-node"},"SugarFunge")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/second-state/substrate-wasmedge"},"substrate-wasmedge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eightfish-org/eightfish"},"EightFish")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sandoxio/sandox"},"Sandox")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/darwinia-network/apk-verifier/"},"APK verifier")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"ink-smart-contracts"},"ink Smart Contracts"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridges"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dantenetwork/protocol-stack-for-ink"},"Dante Protocol")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DeFi"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/pendulum-ink-wrapper"},"Pendulum-Ink-Wrapper")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RottenKiwi/Panorama-Swap-INK-SC"},"Panorama Swap")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Juminstock/ink_bank"},"ink_bank")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/realnimish/polkadot-amm"},"Polkadot AMM")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/veradefi/defi"},"Vera")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nsure-tech/dot-contract"},"Nsure Insurance")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CycanTech/ELC"},"Everlasting Cash")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Coinversation/coinpro"},"Coinversation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zenlinkpro/zenlink-dex-contract"},"zenlink-dex-contract")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ReserveLabs/AlgoCash"},"AlgoCash")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"New seigniorage-style stable coins")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/OpenEmojiBattler/open-emoji-battler"},"Open Emoji Battler")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/WiktorStarczewski/newomega.polkadot/blob/master/newomega_delegator/newomega/newomega.rs"},"NewOmega")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DAO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/SyncraDAO/modular-dao"},"SyncraDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/subDAO-contracts"},"subDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RainbowcityFoundation/RainbowDAO-Protocol-Ink-milestone_1"},"RainbowDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Mangoboxlabs/Mangoboxink"},"MangoBox")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Mangoboxlabs/MangoSaleV2"},"MangoSale")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identity/DID"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/TheDotflow"},"Dotflow")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Oracle"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/diadata-org/dia-wasm-oracle"},"DIA WASM Oracle")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Spam Protection"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/prosopo-io/integration"},"Prosopo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Tooling"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/h4nsu/openbrush-contracts"},"OpenBrush")," \u2754"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/AbaxFinance/Governance"},"Abax Governance")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ArtZero-io/Contracts"},"ArtZero")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/pnsproject/ink-aa"},"Polkadot Smart Account"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/swankyhub/magink-dapp"},"magink")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/ink-test-contracts"},"ink-test-contracts")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/agryaznov/candle-auction-ink"},"Candle Auctions")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubDAO-Network/polkasign-contract"},"polkasign-contract")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bsn-si/ocex-cli"},"OCEX")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/RoloiMoney/roloi-polkadot-w3f-grant"},"Roloi")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadrys/openPayroll"},"OpenPayroll")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/InkSmartContract/BlockchainFoodOrder"},"BlockchainFoodOrder")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"chains-and-pallets"},"Chains and Pallets"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Scalable Transactions"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/perun-network/perun-polkadot-pallet"},"Perun channels")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/perun-network/perun-polkadot-demo"},"CLI demo of Perun")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/Astar"},"Astar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/celer-network/cChannel-substrate"},"Celer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GunClear/Gunero"},"Gunclear")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/BCS-Labs/tpscore-etl-system"},"TPScore")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},"roll-ups, DAG-based consensus mechanisms, side chains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Bridges"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/interlay/interbtc"},"interBTC")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/dkg-substrate"},"DKG Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sygmaprotocol/sygma-substrate-pallets"},"Sygma")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bifrost-finance/bifrost-eos-relay"},"EOS by Bifrost")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-bridge"},"POA - Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/akropolisio/POC-polkadai-bridge"},"Substrate - Ethereum DAI Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-bridge-relay"},"Substrate - Substrate Bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chainx-org/ChainX"},"BTC by ChainX")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChorusOne/wormhole-bridge"},"Cosmos-Substrate bridge")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/octopus-network/substrate-ibc"},"Substrate IBC Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Snowfork/polkadot-ethereum"},"Polkadot Ethereum Bridge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/darwinia-network/darwinia"},"Darwinia")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/spacewalk"},"Spacewalk: a Stellar bridge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/filecoindot"},"Filecoindot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/axelar-cgp-substrate/tree/main"},"Axelar-Substrate")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"ZCash")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Privacy"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LayerXcom/zero-chain"},"ZeroChain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/xx-labs/xxchain"},"xx network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Phala-Network/phala-blockchain"},"pLibra (Phala Network)")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/automata-network/automata"},"Automata Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zero-network/zero"},"Zero Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/appliedblockchain/silentdata-polkadot"},"Silent Data")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/anoma/masp"},"Multi-Asset Shielded Pool (MASP)")," , ",(0,o.kt)("a",{parentName:"td",href:"https://arxiv.org/pdf/2009.01020.pdf"},"Zkay"),", ",(0,o.kt)("a",{parentName:"td",href:"https://eprint.iacr.org/2018/962.pdf"},"Zexe"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"ZKP"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/zeropoolnetwork/zeropool-substrate-groth16-example"},"ZeroPool")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/megaclite"},"Megaclite")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/patractlabs/zkmega"},"zkMega")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AstarNetwork/plonk"},"PLONK for Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/protocol-substrate"},"Webb Anchor Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/zk-snarks-with-substrate/"},"zk-SNARKs tutorial")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zkvers/substrate-zk"},"substrate-zk")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"TEE"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Acurast/acurast-core"},"Acurast")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/integritee-network/worker"},"Integritee")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/scs/substraTEE"},"substraTEE")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/keysafe-protocol/keysafe-app"},"Keysafe Protocol")," \u26aa")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DeFi"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/kapilsinha/privadex"},"PrivaDEX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/uinb/fusotao"},"Fusotao")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/reef-defi/reef-chain"},"Reef")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Diora-Network/Diora"},"Diora")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pendulum-chain/pendulum"},"Pendulum Chain")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/compound-finance/gateway"},"Compound Gateway")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/parallel-finance/parallel"},"Parallel Finance")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/PINT"},"PINT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/laminar-protocol/laminar-chain"},"Laminar Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AcalaNetwork/Acala"},"Acala")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/centrifuge/centrifuge-chain"},"Centrifuge")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stafiprotocol/stafi-node"},"Stafi")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/y2labs-0sh/definex"},"Definex")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAXFoundation/parrot"},"OAX Foundation")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/alexxuyang/substrate-dex"},"Cybex")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zenlinkpro/pallet-zenlink"},"Zenlink")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/lsaether/pallet-swaps"},"Swaps Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Polkadex-Substrate/Polkadex/tree/master"},"Polkadex")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/subdarkdex/subdex-parachain"},"SubDEX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/hack.HydraDX-node"},"HydraDX")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/apopiak/stablecoin"},"Substrate Stablecoin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/digitalnativeinc/standard-substrate"},"Standard protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sora-xor/sora2-network"},"Polkaswap")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/equilibrium-eosdt/equilibrium-curve-amm"},"Curve AMM")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/konomi-network/cumulus/"},"Konomi Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nutsfinance/stable-asset"},"Stable Asset")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/atscaletech/libra"},"Libra Payment")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mangata-finance/mangata-node"},"Mangata")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tidelabs/tidechain"},"Tidechain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/Basilisk-node"},"Basilisk")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/PolymeshAssociation/Polymesh"},"Polymesh")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"DEX with privacy and confidentiality features such as those found in a ",(0,o.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Dark_pool"},"dark pool"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Smart contract chains"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/moonbeam"},"moonbeam")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/aleph-node"},"Aleph-node")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hicommonwealth/edgeware-node"},"Edgeware")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ParaState/substrate-ssvm-node"},"ParaState")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gear-tech/gear"},"gear")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cennznet/cennznet"},"CENNZnet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/skyekiwi/skyekiwi-network"},"SkyeKiwi")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/OAK-blockchain"},"OAK-blockchain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3labs/ice-substrate"},"ICE Blockchain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OmniBTC/PSC"},"Polkadot Smart Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/keep-starknet-strange/madara"},"Madara - Cairo/Starknet")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"smart contract chains with novel security approaches, smart contract chains based on existing toolchains")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Oracle"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/tellor-io/tellor-pallet"},"Tellor")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/laminar-protocol/open-runtime-module-library/tree/master/oracle"},"Laminar")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/smartcontractkit/chainlink-polkadot"},"Chainlink-polkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/aresprotocols/ares"},"Ares Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Kylin-Network/kylin-node"},"Kylin Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/interlay/interbtc-clients/tree/master/oracle"},"interbtc-clients oracle")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/webb-tools/anonima"},"Anonima")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SaaS3-Foundation/dRuntime-fat"},"SaaS3")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tellor-io/tellor-parachain-contracts"},"Tellor")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/diadata-org/bridgestate-ocw"},"Bridgestate Oracle")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Identity/DID"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/parami-foundation/parami-blockchain"},"Parami")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/litentry/litentry-parachain"},"Litentry")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/pallet-did"},"pallet-did")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/prasad-kumkar/dot-id"},"dot-id")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"IoT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/NodleCode/chain"},"Nodle")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DataHighway-DHX/node"},"MXC/DataHighway")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/peaqnetwork/peaq-network-node"},"peaq-network-node")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Verifiable Claims"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/KILTprotocol/kilt-node"},"KILT")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/docknetwork/dock-substrate"},"Dock")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fennelLabs/Fennel-Protocol"},"Fennel Protocol")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Supply chain"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/digicatapult/dscp-node"},"DSCP Node")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Health care"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Music Industry"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Allfeat/Allfeat"},"Allfeat Network")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Data Availability"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/availproject/avail"},"Avail")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZeroDAO/melodot"},"Melodot")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Social Networking"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LibertyDSNP/frequency"},"Frequency")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/social-network/blockchain"},"Social Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subsocial-parachain"},"SubSocial")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ZeroDAO/ZeroDAO-node"},"ZeroDAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/myriadsocial/myriad-node"},"Myriad Node")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/randombishop/wika_etl"},"Wika Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LibertyDSNP/mrc"},"Project Liberty")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/listenofficial/listen-parachain"},"Listen")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tribal-protocol/tribal_contract"},"Tribal Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rust-0x0/hex-space-protocol-substrate"},"Five Degrees on Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/acuity-social/acuity-substrate"},"Acuity Social")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},"Private instant messenger that uses on-chain identity")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Governance/DAO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/aisland-dao/aisland-node/tree/main"},"Aisland Node"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashed-io/hashed-substrate"},"Hashed Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sunshine-protocol/sunshine-bounty"},"Sunshine DAO")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NucleiStudio/governance-os"},"Governance OS")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/idavollnetwork/idavoll"},"Idavoll Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DoraFactory/Substrate-Moloch-V2"},"Substrate Moloch")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Qrucial/QRUCIAL-DAO"},"QRUCIAL-DAO")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sctllabs/societal-node"},"Societal")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/daos-org/daos"},"DAOs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/amiyatulu/shivarthu/"},"Shivarthu")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/faterium"},"Faterium")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/decentration/apps"},"Supersig")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/deep-ink-ventures/genesis-dao-node"},"GenesisDAO")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dao-entrance/dao-entrance-node"},"DAO Entrance")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/liberland/liberland_substrate"},"Liberland")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/consul/consul"},"Consul")," - Open Government and E-Participation Web Software")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Prediction Markets and Futarchy"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/zeitgeistpm/zeitgeist"},"Zeitgeist")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/XPredictMarket/NodePredict"},"X Predict Market")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Messaging"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/validitylabs/HOPR-PL-Substrate"},"HOPR")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chainify/nolik"},"Nolik")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Uke-Messaging/uke-pallet"},"Uke")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Belsoft-rs/diffychat-pallet"},"Diffy Chat")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"File Storage, Cloud"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/dappforce/subsocial-offchain"},"Subsocial-Offchain")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playproject-io/datdot"},"DatDot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/crustio/crust"},"Crust Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rs-ipfs/offchain-ipfs-manual"},"offchain::ipfs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/canyon-network/canyon"},"Canyon Network")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cumulus2021/cess"},"CESS")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/cess-proving-system"},"CESS Proving Subsystem")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ideal-lab5/iris"},"Iris")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/CESSProject/fmd-cess"},"fmd-cess")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DanHenton/pocket-substrate/tree/ipfs-ocw"},"IPFS Frame V3")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/threefoldtech/tfchain"},"Threefold Chain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Apron-Network/apron-node"},"Apron")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TDSoftware/substrate-ipfs"},"IPFS Utilities")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Name Service"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/xaya/substrate-names"},"Substrate Names")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hskang9/substrate-name-service"},"ENS on Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/pnsproject/pns-pallets"},"PNS-Pallets")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/HeisenbergLin22/Faceless_milestone2_delivery"},"Faceless")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ff13dfly/Anchor"},"Anchor")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Gaming"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/bit-country/Bit-Country-Blockchain"},"Bit.country")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SubGame-Network/subgame-network"},"SubGame")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/playzero/subzero"},"subzero")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/web3gamesofficial/web3games-blockchain"},"Web3Games")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ajuna-network/Ajuna"},"Ajuna Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/cryptoviet/gafi"},"Gafi Network")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://gitlab.com/asylum-space/asylum-item-nft"},"Asylum")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/3Dpass/3DP"},"3DPass")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polketio/toearnfun_flutter_app"},"Polket")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Computation/AI"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/DeepBrainChain/DeepBrainChain-MainChain"},"DeepBrain Chain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/anudit/cerebrum"},"AI Infrastructure on Blockchain")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Enable specific use-cases"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/deep-ink-ventures/pallet_hookpoints"},"pallet-hookpoints"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/substrate-node-robonomics"},"Robonomics")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/UniversalDot/pallets"},"UniversalDOT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/EvercityEcosystem/evercity-chain"},"Evercity Sustainable Finance Protocol")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/fennelLabs/Fennel-Protocol"},"Fennel Protocol")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/logion-network/logion-node"},"logion")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"NFT"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/capsule-corp-ternoa/chain"},"ternoa")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/danforbes/pallet-nft"},"FRAME Pallet: NFTs for Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/UniqueNetwork/unique-chain"},"Unique NFT Parachain")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DNFT-Team/dnft-substrate-node/tree/master/pallets"},"DNFT")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rmrk-team/rmrk-substrate"},"RMRK-Substrate")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Popular-Coding/nt-nft"},"NT-NFTs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/GreenLemonProtocol/dksap-polkadot"},"Green Lemon")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/Basilisk-node"},"Basilisk")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Randomness"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/substrate/tree/randomness-beacon"},"DKG and Randomness Beacon")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/random-meat/drand-substrate-client"},"drand-substrate-client")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Licensing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/anagolay/anagolay-chain"},"Anagolay Network")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Banking Integration"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/element36-io/ebics-java-service"},"FIAT on-off-ramp")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Crowdfunding"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ImbueNetwork/imbue"},"Imbue Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/zhangjiannan/QFgrant"},"Quadratic Funding pallet by Dora")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/OAK-Foundation/quadratic-funding-pallet/tree/master"},"Quadratic Funding pallet by OAK")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413"},"Minimum Anti-Collusion Infrastructure (MACI)"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Collection of Pallets"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/open-web3-stack/open-runtime-module-library"},"Substrate Open Runtime Module Library")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/warehouse"},"warehouse")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/InvArch/InvArch-Frames"},"InvArch FRAME Pallet Library")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Marketplaces"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/WowLabz/dot-marketplace-v2/tree/Phase3_Milestone3"},"Dot Marketplace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/hashed-io/hashed-substrate/tree/main/pallets/gated-marketplace"},"Gated Marketplace")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Popular-Coding/ventur"},"Ventur")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Carbon Credits"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/bitgreen/bitg-node"},"BitGreen")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/EvercityEcosystem/carbon-assets"},"Carbon Assets Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SequesterChain/pallets"},"Sequester Pallets")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"UTXO"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Off-Narrative-Labs/Tuxedo"},"Tuxedo")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Moonsong-Labs/moonkit"},"Moonkit")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/substrate-account-filter"},"Substrate Account Filter")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/opentensor/subtensor"},"Subtensor")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AdMetaNetwork/admeta"},"AdMeta")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/chocolatenetwork/chocolate-node"},"Chocolate Node")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/virto-network/virto-node"},"Virto Network")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/substrate-validator-set"},"Substrate Validator Set")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/DEIPworld/deip-node"},"DEIP")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/debionetwork/debio-node"},"DeBio")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/mathwallet/MathChain"},"MathChain")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/encointer/encointer-node"},"encointer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/grasslandnetwork/substrate_node"},"Grassland")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/rusty-crewmates/substrate-tutorials"},"Substrate-Tutorials")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Fair-Squares/fair-squares"},"Fair Squares")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/totem-tech/totem"},"Totem Live Accounting")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/herou/EscrowPallet"},"Escrow Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/NexTokenTech/TREX"},"TREX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/relationlabs/Relation-Graph"},"Relation Graph")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gertt/Invoice"},"Decentralized Invoice")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/redstone-network/redstone-node"},"Redstone Network")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/WunderbarNetwork/access-control"},"Access Control Pallet")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Omniverse-Web3-Labs/omniverse-swap/tree/web3-grant"},"Omniverse DLT")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/substrate-ismp"},"ISMP")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/xcmp_prototype_playground"},"XCMP")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/dhiway/cord"},"CORD Chain")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null},"Decentralized review/reputation system")))),(0,o.kt)("h3",{id:"host"},"Host"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Rust"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate"},"Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/cumulus"},"Cumulus")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"C++"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/kagome"},"Kagome")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/mayon"},"Mayon")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Go"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/gossamer"},"Gossamer")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Java"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/Fruzhin"},"Fruzhin")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/java-host-research"},"Java Host Research")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"AssemblyScript"),(0,o.kt)("td",{parentName:"tr",align:null}),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Light Client"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/smol-dot/smoldot"},"smoldot")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate-connect"},"Substrate Connect")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/eqlabs/polkadot-light-client"},"C++ Polkadot Light Client")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Testing"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/polkadot-conformance"},"Polkadot Conformance")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sigp/polkafuzz"},"Polkafuzz")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"network-maintenance-tools"},"Network Maintenance Tools"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Secure validator setup"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkachu/polkadot-validator"},"Polkadot Validation Node Ansible Setup")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-validator-setup"},"W3F Polkadot Validator Setup")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Nexus2k/polkadot-ansible"},"polkadot-ansible")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"High availability setup"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/luguslabs/archipel"},"Archipel")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/protofire/polkadot-failover-mechanism"},"Polkadot Failover Mechanism")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Datagen-Project/Datagen-Substrate-Grant"},"Datagen")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/bright/substrate-raft"},"High Availability Validator Setup")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Load Balanced Endpoints"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/insight-w3f/terragrunt-polkadot"},"terragrunt-polkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sudoblockio/substrate-meta"},"Geometry Labs' Substrate Meta repo")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Deployment Tools"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Blockdaemon/bpm-sdk"},"Polkadot Package Manager")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/akropolisio/polkahub-monorepo"},"PolkaHub")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/AvadoDServer/AVADO-DNP-Polkadot-custom"},"Avado")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-deployer"},"Polkadot Deployer")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/for-parity-with-love/unified-collator-node-deployment"},"Unified Collator Deployment")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator monitoring"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/turboflakes/one-t"},"ONE-T")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/subvt-backend"},"SubVT")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/SimplyVC/panic"},"P.A.N.I.C.")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/galacticcouncil/polkalert"},"Polkalert")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nodebreaker0-0/substrate/tree/prometheus_v0.3"},"B-Harvest")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stakezone/nmonpolkadot"},"nmonpolkadot")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ironoa/polkadot-k8s-monitor"},"Polkadot-K8s-Monitor")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-watcher"},"Polkadot-Watcher")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/helikon-labs/polkadot-kusama-1kv-telegram-bot"},"1KV Telegram Bot")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator payout management"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Colm3na/substrate-auto-payout"},"Substrate validator auto payout")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/polkadot-payouts"},"Polkadot Payouts")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emostov/staking-payouts"},"staking-payouts CLI")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/stakelink/substrate-payctl"},"Payctl")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/turboflakes/crunch"},"crunch")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Staking Miner"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/staking-miner-v2"},"Staking Miner v2")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Nominator Tools"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/miepsik/validators_selection"},"Validator Selection")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/filippoweb3/polkanalyzer"},"Polkanalyzer")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/filippoweb3/polkanalyzer-app"},"Polkanalyzer-app")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"signatures"},"Signatures"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"SR25519"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/schnorrkel"},"rust")," \ud83d\udfe2(contains partial bindings for C, JavaScript, and Python), ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gautamdhameja/sr25519-dotnet"},".Net bindings")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/sr25519"},"C")," \u26aa",(0,o.kt)("em",{parentName:"td"},"(old)"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/TerenceGe/sr25519-donna"},"C")," \u26aa",(0,o.kt)("em",{parentName:"td"},"(new)"),", ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/soramitsu-sr25519-crust"},"C/C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/usetech-llc/sr25519_dotnet"},"C#")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/go-schnorrkel"},"Go")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/debuggor/schnorrkel-java"},"java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/sr25519-bindings"},"PHP")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Signature Aggregation"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f/apk-proofs"},"apk-proofs")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Distributed key generation (DKG) or management"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/isislovecruft/frost-dalek"},"keygen.rs")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/w3f-grants-archive/sword"},"Secure Wallet Origin Distribution (SWORD)")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Validator HSMs"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Zondax/buildroot-zondax"},"Zondax Remote Signer")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"consensus"},"Consensus"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"PoC"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/subspace/substrate"},"Spartan")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"PoW"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/pow"},"PoW consensus for Substrate")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/kulupu/kulupu/tree/master/pow"},"RandomX")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/substrate-developer-hub/recipes/tree/master/consensus/sha3pow"},"Sha3 PoW")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Block production"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/babe"},"BABE")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/client/consensus/aura"},"Aura")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Finality"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/substrate/tree/master/frame/grandpa"},"GRANDPA")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Cardinal-Cryptography/AlephBFT"},"AlephBFT")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Other"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/PureStake/nimbus"},"Nimbus: Upgradeable consensus framework")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"networking"},"Networking"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"SCALE Codec"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-scale-codec"},"Rust")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/paritytech/parity-scale-codec-ts"},"TypeScript")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkascan/py-scale-codec"},"Python")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/ChainSafe/gossamer/tree/development/pkg/scale/"},"Golang Chainsafe")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/scale.go"},"Golang Itering")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/MatthewDarnell/cScale"},"C")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/scale-codec-cpp"},"C++")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/polkadot-js/api"},"JavaScript")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/LimeChain/as-scale-codec"},"AssemblyScript")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/airalab/hs-web3/tree/master/packages/scale/src/Codec"},"Haskell")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkaj"},"Java")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/itering/scale.rb"},"Ruby")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/nbltrust/dart-scale-codec"},"Dart")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/tesseract-one/swift-scale-codec"},"Swift")," \ud83d\udfe1, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/scale-codec-swift"},"scale-codec-swift")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/sublabdev/scale-codec-kotlin"},"scale-codec-kotlin")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/php-scale-codec"},"PHP")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/soramitsu/scale-codec-js-library"},"JavaScript by Soramitsu")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/gmajor-encrypt/scale-codec-comparator"},"Scale Codec Comparator")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/darwinia-network/darwinia-messages-sol/blob/master/contracts/utils/contracts/ScaleCodec.sol"},"ScaleCodec.sol by Darwinia")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/Snowfork/snowbridge/blob/main/core/packages/contracts/contracts/ScaleCodec.sol"},"ScaleCodec.sol by Snowfork")," \ud83d\udfe2, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/arijitAD/dotscale"},"Dotscale")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Networking Framework"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/libp2p/libp2p"},"libp2p")," \ud83d\udfe2"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"DHT Crawler"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/atredispartners/dht-crawler-polkadot"},"Go")," \u26aa, ",(0,o.kt)("a",{parentName:"td",href:"https://github.com/emeraldpay/polkabot"},"Kotlin")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"RPC Tor-like access"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/Evanesco-Labs/WhiteNoise.rs"},"WhiteNoise")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"primitives"},"Primitives"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Components"),(0,o.kt)("th",{parentName:"tr",align:null},"Existing projects"),(0,o.kt)("th",{parentName:"tr",align:null},"Potentially interesting projects"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Storage"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/frisitano/merkle-tree-db"},"Merkle Tree DB")," \u26aa"),(0,o.kt)("td",{parentName:"tr",align:null})),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Merkle Proofs"),(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://github.com/polytope-labs/solidity-merkle-trees"},"Solidity Trie Verifier")," \ud83d\udfe1"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h2",{id:"contributing"},"Contributing"),(0,o.kt)("p",null,"Pull requests, issues, or other contributions from the community are encouraged! You can not only\nadd specific projects, but also potentially interesting fields/areas which are currently missing in\nthe tech stack."),(0,o.kt)("p",null,"\u2757 All technologies listed above need to be open-source. Ideally, the links\nlead directly to the code."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: You will need a GitHub account to suggest changes or open issues. If you do not have one, you\nmay ",(0,o.kt)("a",{parentName:"em",href:"https://github.com/join"},"sign up for free"),".")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.b78032d7.js b/assets/js/main.b78032d7.js new file mode 100644 index 000000000000..87edeba49ff4 --- /dev/null +++ b/assets/js/main.b78032d7.js @@ -0,0 +1,2 @@ +/*! For license information please see main.b78032d7.js.LICENSE.txt */ +(self.webpackChunk=self.webpackChunk||[]).push([[179],{20830:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(67294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(67294),a=r.createContext(!1);function o(e){var t=e.children,n=(0,r.useState)(!1),o=n[0],i=n[1];return(0,r.useEffect)((function(){i(!0)}),[]),r.createElement(a.Provider,{value:o},t)}},94926:(e,t,n)=>{"use strict";var r=n(67294),a=n(73935),o=n(73727),i=n(70405),s=n(10412);const c=[n(32497),n(3310),n(18320),n(39604),n(32104),n(70378)];var l=n(69204),u=n(16550),d=n(18790);function f(e){var t=e.children;return r.createElement(r.Fragment,null,t)}var p=n(87462),m=n(35742),h=n(52263),g=n(44996),b=n(86668),v=n(10833),y=n(94711),x=n(19727),k=n(43320),w=n(18780),E=n(90197);function _(){var e=(0,h.Z)().i18n,t=e.defaultLocale,n=e.localeConfigs,a=(0,y.l)();return r.createElement(m.Z,null,Object.entries(n).map((function(e){var t=e[0],n=e[1].htmlLang;return r.createElement("link",{key:t,rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:n})})),r.createElement("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}))}function S(e){var t=e.permalink,n=(0,h.Z)().siteConfig.url,a=function(){var e=(0,h.Z)().siteConfig,t=e.url,n=e.baseUrl,r=e.trailingSlash,a=(0,u.TH)().pathname;return t+(0,w.applyTrailingSlash)((0,g.Z)(a),{trailingSlash:r,baseUrl:n})}(),o=t?""+n+t:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function C(){var e=(0,h.Z)().i18n.currentLocale,t=(0,b.L)(),n=t.metadata,a=t.image;return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:x.h})),a&&r.createElement(v.d,{image:a}),r.createElement(S,null),r.createElement(_,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,n.map((function(e,t){return r.createElement("meta",(0,p.Z)({key:t},e))}))))}var T=new Map;function A(e){if(T.has(e.pathname))return Object.assign({},e,{pathname:T.get(e.pathname)});if((0,d.f)(l.Z,e.pathname).some((function(e){return!0===e.route.exact})))return T.set(e.pathname,e.pathname),e;var t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),Object.assign({},e,{pathname:t})}var P=n(98934),O=n(49633),L=n(94578);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = '+e+" "+("/"===e?" (default value)":"")+'

\n

We suggest trying baseUrl =

\n\n'}(e)).replace(/{"use strict";n.d(t,{_:()=>u,M:()=>d});var r=n(67294),a=n(8618);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"general/getting-started","docs":[{"id":"build/build-data","path":"/docs/build-data","sidebar":"docs"},{"id":"build/build-guide","path":"/docs/build-guide","sidebar":"docs"},{"id":"build/build-hackathon","path":"/docs/build-hackathon","sidebar":"docs"},{"id":"build/build-hrmp-channels","path":"/docs/build-hrmp-channels","sidebar":"docs"},{"id":"build/build-index","path":"/docs/build-index","sidebar":"docs"},{"id":"build/build-integrate-assets","path":"/docs/build-integrate-assets","sidebar":"docs"},{"id":"build/build-integration","path":"/docs/build-integration","sidebar":"docs"},{"id":"build/build-node-interaction","path":"/docs/build-node-interaction","sidebar":"docs"},{"id":"build/build-node-management","path":"/docs/build-node-management","sidebar":"docs"},{"id":"build/build-open-source","path":"/docs/build-open-source","sidebar":"docs"},{"id":"build/build-oracle","path":"/docs/build-oracle","sidebar":"docs"},{"id":"build/build-parachains","path":"/docs/build-pdk","sidebar":"docs"},{"id":"build/build-protocol-info","path":"/docs/build-protocol-info","sidebar":"docs"},{"id":"build/build-smart-contracts","path":"/docs/build-smart-contracts","sidebar":"docs"},{"id":"build/build-ss58-registry","path":"/docs/build-ss58-registry","sidebar":"docs"},{"id":"build/build-storage","path":"/docs/build-storage","sidebar":"docs"},{"id":"build/build-substrate","path":"/docs/build-substrate","sidebar":"docs"},{"id":"build/build-tools-index","path":"/docs/build-tools-index","sidebar":"docs"},{"id":"build/build-transaction-construction","path":"/docs/build-transaction-construction","sidebar":"docs"},{"id":"general/ambassadors","path":"/docs/ambassadors","sidebar":"docs"},{"id":"general/bug-bounty","path":"/docs/bug-bounty","sidebar":"docs"},{"id":"general/builders-program","path":"/docs/builders-program","sidebar":"docs"},{"id":"general/community","path":"/docs/community","sidebar":"docs"},{"id":"general/contributing","path":"/docs/contributing","sidebar":"docs"},{"id":"general/contributors","path":"/docs/contributors","sidebar":"docs"},{"id":"general/dev-heroes","path":"/docs/dev-heroes","sidebar":"docs"},{"id":"general/doc-thousand-contributors","path":"/docs/thousand-contributors","sidebar":"docs"},{"id":"general/doc-thousand-validators","path":"/docs/thousand-validators","sidebar":"docs"},{"id":"general/faq","path":"/docs/faq","sidebar":"docs"},{"id":"general/getting-started","path":"/docs/getting-started","sidebar":"docs"},{"id":"general/glossary","path":"/docs/glossary","sidebar":"docs"},{"id":"general/grants","path":"/docs/grants","sidebar":"docs"},{"id":"general/how-to-dyor","path":"/docs/how-to-dyor","sidebar":"docs"},{"id":"general/kusama/kusama-adversarial-cheatsheet","path":"/docs/kusama-adversarial-cheatsheet"},{"id":"general/kusama/kusama-bug-bounty","path":"/docs/kusama-bug-bounty"},{"id":"general/kusama/kusama-claims","path":"/docs/kusama-claims"},{"id":"general/kusama/kusama-coc","path":"/docs/kusama-coc"},{"id":"general/kusama/kusama-community","path":"/docs/kusama-community"},{"id":"general/kusama/kusama-getting-started","path":"/docs/kusama-getting-started"},{"id":"general/kusama/kusama-index","path":"/docs/kusama-index"},{"id":"general/kusama/kusama-parameters","path":"/docs/kusama-parameters"},{"id":"general/kusama/kusama-social-recovery","path":"/docs/kusama-social-recovery"},{"id":"general/kusama/kusama-timeline","path":"/docs/kusama-timeline"},{"id":"general/ledger","path":"/docs/ledger","sidebar":"docs"},{"id":"general/metadata","path":"/docs/metadata","sidebar":"docs"},{"id":"general/polkadot-direction","path":"/docs/polkadot-direction","sidebar":"docs"},{"id":"general/polkadot-v1","path":"/docs/polkadot-v1","sidebar":"docs"},{"id":"general/polkadot-vault","path":"/docs/polkadot-vault","sidebar":"docs"},{"id":"general/polkadotjs","path":"/docs/polkadotjs","sidebar":"docs"},{"id":"general/polkadotjs-ui","path":"/docs/polkadotjs-ui","sidebar":"docs"},{"id":"general/research","path":"/docs/research","sidebar":"docs"},{"id":"general/scams","path":"/docs/learn-scams","sidebar":"docs"},{"id":"general/staking-dashboard","path":"/docs/staking-dashboard","sidebar":"docs"},{"id":"general/start-building","path":"/docs/start-building","sidebar":"docs"},{"id":"general/wallets-and-extensions","path":"/docs/wallets-and-extensions","sidebar":"docs"},{"id":"learn/learn-account-abstraction","path":"/docs/learn-account-abstraction","sidebar":"docs"},{"id":"learn/learn-account-advanced","path":"/docs/learn-account-advanced","sidebar":"docs"},{"id":"learn/learn-account-generation","path":"/docs/learn-account-generation","sidebar":"docs"},{"id":"learn/learn-account-multisig","path":"/docs/learn-account-multisig","sidebar":"docs"},{"id":"learn/learn-accounts","path":"/docs/learn-accounts","sidebar":"docs"},{"id":"learn/learn-architecture","path":"/docs/learn-architecture","sidebar":"docs"},{"id":"learn/learn-assets","path":"/docs/learn-assets","sidebar":"docs"},{"id":"learn/learn-async-backing","path":"/docs/learn-async-backing","sidebar":"docs"},{"id":"learn/learn-auction","path":"/docs/learn-auction","sidebar":"docs"},{"id":"learn/learn-balance-transfers","path":"/docs/learn-balance-transfers","sidebar":"docs"},{"id":"learn/learn-bridges","path":"/docs/learn-bridges","sidebar":"docs"},{"id":"learn/learn-collator","path":"/docs/learn-collator","sidebar":"docs"},{"id":"learn/learn-comparisons","path":"/docs/learn-comparisons","sidebar":"docs"},{"id":"learn/learn-comparisons-avalanche","path":"/docs/learn-comparisons-avalanche","sidebar":"docs"},{"id":"learn/learn-comparisons-cosmos","path":"/docs/learn-comparisons-cosmos","sidebar":"docs"},{"id":"learn/learn-comparisons-ethereum-2","path":"/docs/learn-comparisons-ethereum-2","sidebar":"docs"},{"id":"learn/learn-comparisons-kusama","path":"/docs/learn-comparisons-kusama","sidebar":"docs"},{"id":"learn/learn-comparisons-rollups","path":"/docs/learn-comparisons-rollups","sidebar":"docs"},{"id":"learn/learn-consensus","path":"/docs/learn-consensus","sidebar":"docs"},{"id":"learn/learn-controller","path":"/docs/learn-controller","sidebar":"docs"},{"id":"learn/learn-crowdloans","path":"/docs/learn-crowdloans","sidebar":"docs"},{"id":"learn/learn-cryptography","path":"/docs/learn-cryptography","sidebar":"docs"},{"id":"learn/learn-DOT","path":"/docs/learn-DOT","sidebar":"docs"},{"id":"learn/learn-extrinsics","path":"/docs/learn-extrinsics","sidebar":"docs"},{"id":"learn/learn-governance","path":"/docs/learn-governance","sidebar":"docs"},{"id":"learn/learn-guides-assets-create","path":"/docs/learn-guides-assets-create","sidebar":"docs"},{"id":"learn/learn-guides-assets-ledger","path":"/docs/learn-guides-assets-ledger","sidebar":"docs"},{"id":"learn/learn-guides-identity","path":"/docs/learn-guides-identity","sidebar":"docs"},{"id":"learn/learn-guides-polkadot-opengov","path":"/docs/learn-guides-polkadot-opengov","sidebar":"docs"},{"id":"learn/learn-guides-staking","path":"/docs/learn-guides-staking","sidebar":"docs"},{"id":"learn/learn-guides-staking-pools","path":"/docs/learn-guides-staking-pools","sidebar":"docs"},{"id":"learn/learn-guides-treasury","path":"/docs/learn-guides-treasury","sidebar":"docs"},{"id":"learn/learn-guides-vault","path":"/docs/learn-guides-vault","sidebar":"docs"},{"id":"learn/learn-identity","path":"/docs/learn-identity","sidebar":"docs"},{"id":"learn/learn-implementations","path":"/docs/learn-implementations"},{"id":"learn/learn-inflation","path":"/docs/learn-inflation","sidebar":"docs"},{"id":"learn/learn-launch","path":"/docs/learn-launch","sidebar":"docs"},{"id":"learn/learn-nft","path":"/docs/learn-nft","sidebar":"docs"},{"id":"learn/learn-nft-pallets","path":"/docs/learn-nft-pallets","sidebar":"docs"},{"id":"learn/learn-nft-projects","path":"/docs/learn-nft-projects","sidebar":"docs"},{"id":"learn/learn-nomination-pools","path":"/docs/learn-nomination-pools","sidebar":"docs"},{"id":"learn/learn-nominator","path":"/docs/learn-nominator","sidebar":"docs"},{"id":"learn/learn-parachains","path":"/docs/learn-parachains","sidebar":"docs"},{"id":"learn/learn-parachains-faq","path":"/docs/learn-parachains-faq","sidebar":"docs"},{"id":"learn/learn-parachains-protocol","path":"/docs/learn-parachains-protocol","sidebar":"docs"},{"id":"learn/learn-parathreads","path":"/docs/learn-parathreads","sidebar":"docs"},{"id":"learn/learn-phragmen","path":"/docs/learn-phragmen","sidebar":"docs"},{"id":"learn/learn-polkadot-host","path":"/docs/learn-polkadot-host","sidebar":"docs"},{"id":"learn/learn-polkadot-opengov","path":"/docs/learn-polkadot-opengov","sidebar":"docs"},{"id":"learn/learn-polkadot-opengov-treasury","path":"/docs/learn-polkadot-opengov-treasury","sidebar":"docs"},{"id":"learn/learn-proxies","path":"/docs/learn-proxies","sidebar":"docs"},{"id":"learn/learn-proxies-pure","path":"/docs/learn-proxies-pure","sidebar":"docs"},{"id":"learn/learn-redenomination","path":"/docs/learn-redenomination","sidebar":"docs"},{"id":"learn/learn-runtime-upgrades","path":"/docs/learn-runtime-upgrades","sidebar":"docs"},{"id":"learn/learn-sassafras","path":"/docs/learn-sassafras","sidebar":"docs"},{"id":"learn/learn-spree","path":"/docs/learn-spree","sidebar":"docs"},{"id":"learn/learn-staking","path":"/docs/learn-staking","sidebar":"docs"},{"id":"learn/learn-staking-advanced","path":"/docs/learn-staking-advanced","sidebar":"docs"},{"id":"learn/learn-system-chains","path":"/docs/learn-system-chains","sidebar":"docs"},{"id":"learn/learn-teleport","path":"/docs/learn-teleport","sidebar":"docs"},{"id":"learn/learn-transaction-fees","path":"/docs/learn-transaction-fees","sidebar":"docs"},{"id":"learn/learn-treasury","path":"/docs/learn-treasury","sidebar":"docs"},{"id":"learn/learn-validator","path":"/docs/learn-validator","sidebar":"docs"},{"id":"learn/learn-video-tutorials","path":"/docs/learn-video-tutorials","sidebar":"docs"},{"id":"learn/learn-wasm","path":"/docs/learn-wasm","sidebar":"docs"},{"id":"learn/learn-xcm","path":"/docs/learn-xcm","sidebar":"docs"},{"id":"learn/learn-xcm-instructions","path":"/docs/learn-xcm-instructions","sidebar":"docs"},{"id":"learn/learn-xcm-pallet","path":"/docs/learn-xcm-pallet","sidebar":"docs"},{"id":"learn/learn-xcm-transport","path":"/docs/learn-xcm-transport","sidebar":"docs"},{"id":"learn/learn-xcm-usecases","path":"/docs/learn-xcm-usecases","sidebar":"docs"},{"id":"learn/learn-xcvm","path":"/docs/learn-xcvm","sidebar":"docs"},{"id":"learn/xcm/executor_config/learn-xcm-docs-config-deep-dive","path":"/docs/learn/xcm/config-deep-dive","sidebar":"docs"},{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-fees","path":"/docs/learn/xcm/fundamentals-fees","sidebar":"docs"},{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-multiasset","path":"/docs/learn/xcm/fundamentals-multiasset","sidebar":"docs"},{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-summary","path":"/docs/learn/xcm/fundamentals-summary","sidebar":"docs"},{"id":"learn/xcm/fundamentals/learn-xcm-docs-fundamentals-xcvm","path":"/docs/learn/xcm/fundamentals-xcvm","sidebar":"docs"},{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-example","path":"/docs/learn/xcm/fundamentals/multilocation-example","sidebar":"docs"},{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-junctions","path":"/docs/learn/xcm/fundamentals/multilocation-junctions","sidebar":"docs"},{"id":"learn/xcm/fundamentals/multilocation/learn-xcm-docs-multilocation-summary","path":"/docs/learn/xcm/fundamentals/multilocation-summary","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-assets","path":"/docs/learn/xcm/journey-assets","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-channels","path":"/docs/learn/xcm/journey-channels","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-expectations","path":"/docs/learn/xcm/journey-expectations","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-fees","path":"/docs/learn/xcm/journey-fees","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-holding","path":"/docs/learn/xcm/journey-holding","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-origin","path":"/docs/learn/xcm/journey-origin","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-queries","path":"/docs/learn/xcm/journey-queries","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-register","path":"/docs/learn/xcm/journey-register","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-summary","path":"/docs/learn/xcm/journey-summary","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-transact","path":"/docs/learn/xcm/journey-transact","sidebar":"docs"},{"id":"learn/xcm/journey/learn-xcm-docs-journey-version","path":"/docs/learn/xcm/journey-version","sidebar":"docs"},{"id":"learn/xcm/journey/locks/learn-xcm-docs-journey-locks","path":"/docs/learn/xcm/journey-locks","sidebar":"docs"},{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-reserve","path":"/docs/learn/xcm/journey/transfers-reserve","sidebar":"docs"},{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-summary","path":"/docs/learn/xcm/journey/transfers-summary","sidebar":"docs"},{"id":"learn/xcm/journey/transfers/learn-xcm-docs-transfers-teleport","path":"/docs/learn/xcm/journey/transfers-teleport","sidebar":"docs"},{"id":"learn/xcm/learn-xcm-docs-intro","path":"/docs/learn/xcm/introduction","sidebar":"docs"},{"id":"learn/xcm/learn-xcm-docs-testing","path":"/docs/learn/xcm/testing","sidebar":"docs"},{"id":"learn/xcm/overview/learn-xcm-docs-overview-architecture","path":"/docs/learn/xcm/overview-architecture","sidebar":"docs"},{"id":"learn/xcm/overview/learn-xcm-docs-overview-format","path":"/docs/learn/xcm/overview-format","sidebar":"docs"},{"id":"learn/xcm/overview/learn-xcm-docs-overview-intro","path":"/docs/learn/xcm/overview-intro","sidebar":"docs"},{"id":"learn/xcm/overview/learn-xcm-docs-overview-summary","path":"/docs/learn/xcm/overview-summary","sidebar":"docs"},{"id":"learn/xcm/overview/learn-xcm-docs-overview-xcvm","path":"/docs/learn/xcm/overview-xcvm","sidebar":"docs"},{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-first-look","path":"/docs/learn/xcm/quickstart-first-look","sidebar":"docs"},{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-simulator","path":"/docs/learn/xcm/quickstart-simulator","sidebar":"docs"},{"id":"learn/xcm/quickstart/learn-xcm-docs-quickstart-summary","path":"/docs/learn/xcm/quickstart-summary","sidebar":"docs"},{"id":"learn/xcm/reference/learn-xcm-docs-reference-glossary","path":"/docs/learn/xcm/reference-glossary","sidebar":"docs"},{"id":"learn/xcm/reference/learn-xcm-docs-reference-xcvm-registers","path":"/docs/learn/xcm/reference-xcvm-registers","sidebar":"docs"},{"id":"maintain/doc-maintain-guides-validator-community","path":"/docs/maintain-guides-validator-community","sidebar":"docs"},{"id":"maintain/kusama/maintain-guides-how-to-nominate-kusama","path":"/docs/maintain-guides-how-to-nominate-kusama"},{"id":"maintain/kusama/maintain-guides-how-to-validate-kusama","path":"/docs/maintain-guides-how-to-validate-kusama"},{"id":"maintain/kusama/maintain-guides-society-kusama","path":"/docs/maintain-guides-society-kusama"},{"id":"maintain/maintain-bootnode","path":"/docs/maintain-bootnode","sidebar":"docs"},{"id":"maintain/maintain-endpoints","path":"/docs/maintain-endpoints","sidebar":"docs"},{"id":"maintain/maintain-errors","path":"/docs/maintain-errors","sidebar":"docs"},{"id":"maintain/maintain-guides-avoid-slashing","path":"/docs/maintain-guides-avoid-slashing","sidebar":"docs"},{"id":"maintain/maintain-guides-democracy","path":"/docs/maintain-guides-democracy","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-chill","path":"/docs/maintain-guides-how-to-chill","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-join-council","path":"/docs/maintain-guides-how-to-join-council","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-monitor-your-node","path":"/docs/maintain-guides-how-to-monitor-your-node","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-nominate-polkadot","path":"/docs/maintain-guides-how-to-nominate-polkadot","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-stop-validating","path":"/docs/maintain-guides-how-to-stop-validating","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-systemd","path":"/docs/maintain-guides-how-to-systemd","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-upgrade","path":"/docs/maintain-guides-how-to-upgrade","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-validate-polkadot","path":"/docs/maintain-guides-how-to-validate-polkadot","sidebar":"docs"},{"id":"maintain/maintain-guides-how-to-vote-councillor","path":"/docs/maintain-guides-how-to-vote-councillor","sidebar":"docs"},{"id":"maintain/maintain-guides-polkadot-opengov","path":"/docs/maintain-guides-polkadot-opengov","sidebar":"docs"},{"id":"maintain/maintain-guides-secure-validator","path":"/docs/maintain-guides-secure-validator","sidebar":"docs"},{"id":"maintain/maintain-guides-validator-payout","path":"/docs/maintain-guides-validator-payout","sidebar":"docs"},{"id":"maintain/maintain-index","path":"/docs/maintain-index","sidebar":"docs"},{"id":"maintain/maintain-networks","path":"/docs/maintain-networks","sidebar":"docs"},{"id":"maintain/maintain-polkadot-parameters","path":"/docs/maintain-polkadot-parameters","sidebar":"docs"},{"id":"maintain/maintain-rpc","path":"/docs/maintain-rpc","sidebar":"docs"},{"id":"maintain/maintain-sync","path":"/docs/maintain-sync","sidebar":"docs"},{"id":"maintain/maintain-wss","path":"/docs/maintain-wss","sidebar":"docs"},{"id":"/learn-index","path":"/docs/learn-index","sidebar":"docs"},{"id":"/general-index","path":"/docs/general-index","sidebar":"docs"},{"id":"/polkadot-vision-index","path":"/docs/polkadot-vision-index","sidebar":"docs"},{"id":"/stay-safe-index","path":"/docs/stay-safe-index","sidebar":"docs"},{"id":"/wallets-index","path":"/docs/wallets-index","sidebar":"docs"},{"id":"/dashboards-index","path":"/docs/dashboards-index","sidebar":"docs"},{"id":"/community-index","path":"/docs/community-index","sidebar":"docs"},{"id":"/programmes-index","path":"/docs/programmes-index","sidebar":"docs"},{"id":"/learn-basics-index","path":"/docs/learn-basics-index","sidebar":"docs"},{"id":"/learn-accounts-index","path":"/docs/learn-accounts-index","sidebar":"docs"},{"id":"/learn-transactions-index","path":"/docs/learn-transactions-index","sidebar":"docs"},{"id":"/learn-assets-index","path":"/docs/learn-assets-index","sidebar":"docs"},{"id":"/learn-nft-index","path":"/docs/learn-nft-index","sidebar":"docs"},{"id":"/learn-components-index","path":"/docs/learn-components-index","sidebar":"docs"},{"id":"/learn-staking-index","path":"/docs/learn-staking-index","sidebar":"docs"},{"id":"/learn-advanced-index","path":"/docs/learn-advanced-index","sidebar":"docs"},{"id":"/learn-guides-index","path":"/docs/learn-guides-index","sidebar":"docs"},{"id":"/learn-guides-staking-index","path":"/docs/learn-guides-staking-index","sidebar":"docs"},{"id":"/learn-guides-assets-index","path":"/docs/learn-guides-assets-index","sidebar":"docs"},{"id":"/learn-architecture-index","path":"/docs/learn-architecture-index","sidebar":"docs"},{"id":"/learn-participants-index","path":"/docs/learn-participants-index","sidebar":"docs"},{"id":"/learn-parachains-index","path":"/docs/learn-parachains-index","sidebar":"docs"},{"id":"/learn-xcm-index","path":"/docs/learn-xcm-index","sidebar":"docs"},{"id":"learn/xcm","path":"/docs/learn/xcm","sidebar":"docs"},{"id":"/learn/xcm/overview","path":"/docs/learn/xcm/overview","sidebar":"docs"},{"id":"/learn/xcm/quickstart","path":"/docs/learn/xcm/quickstart","sidebar":"docs"},{"id":"/learn/xcm/fundamentals","path":"/docs/learn/xcm/fundamentals","sidebar":"docs"},{"id":"/learn/xcm/fundamentals/multilocation","path":"/docs/learn/xcm/fundamentals/multilocation","sidebar":"docs"},{"id":"/learn/xcm/journey","path":"/docs/learn/xcm/journey","sidebar":"docs"},{"id":"/learn/xcm/journey/transfers","path":"/docs/learn/xcm/journey/transfers","sidebar":"docs"},{"id":"/learn/xcm/references","path":"/docs/learn/xcm/references","sidebar":"docs"},{"id":"/learn-comparisons-index","path":"/docs/learn-comparisons-index","sidebar":"docs"},{"id":"/learn-future-implementations-index","path":"/docs/learn-future-implementations-index","sidebar":"docs"},{"id":"/learn-archive-index","path":"/docs/learn-archive-index","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/learn-index","label":"Learn"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(81465);const c=JSON.parse('{"docusaurusVersion":"2.4.3","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.3"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.3"},"undefined":{"type":"package","name":"remark-docusaurus-tabs","version":"0.2.0"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"2.4.3"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"2.4.3"}}}');var l={siteConfig:a.default,siteMetadata:c,globalData:o,i18n:i,codeTranslations:s},u=r.createContext(l);function d(e){var t=e.children;return r.createElement(u.Provider,{value:l},t)}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(94578),a=n(67294),o=n(10412),i=n(35742),s=n(18780),c=n(34033);function l(e){var t=e.error,n=e.tryAgain;return a.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},a.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),a.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),a.createElement(u,{error:t}))}function u(e){var t=e.error,n=(0,s.getErrorCausalChain)(t).map((function(e){return e.message})).join("\n\nCause:\n");return a.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function d(e){var t=e.error,n=e.tryAgain;return a.createElement(p,{fallback:function(){return a.createElement(l,{error:t,tryAgain:n})}},a.createElement(i.Z,null,a.createElement("title",null,"Page Error")),a.createElement(c.Z,null,a.createElement(l,{error:t,tryAgain:n})))}var f=function(e){return a.createElement(d,e)},p=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={error:null},n}(0,r.Z)(t,e);var n=t.prototype;return n.componentDidCatch=function(e){o.Z.canUseDOM&&this.setState({error:e})},n.render=function(){var e=this,t=this.props.children,n=this.state.error;if(n){var r,a={error:n,tryAgain:function(){return e.setState({error:null})}};return(null!=(r=this.props.fallback)?r:f)(a)}return null!=t?t:null},t}(a.Component)},10412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document;const a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(70405);function o(e){return r.createElement(a.ql,e)}},39960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(87462),a=n(63366),o=n(67294),i=n(73727),s=n(18780),c=n(52263),l=n(13919),u=n(10412),d=o.createContext({collectLink:function(){}});var f=n(44996),p=["isNavLink","to","href","activeClassName","isActive","data-noBrokenLinkCheck","autoAddBaseUrl"];function m(e,t){var n,m,h=e.isNavLink,g=e.to,b=e.href,v=e.activeClassName,y=e.isActive,x=e["data-noBrokenLinkCheck"],k=e.autoAddBaseUrl,w=void 0===k||k,E=(0,a.Z)(e,p),_=(0,c.Z)().siteConfig,S=_.trailingSlash,C=_.baseUrl,T=(0,f.C)().withBaseUrl,A=(0,o.useContext)(d),P=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,(function(){return P.current}));var O=g||b;var L,N=(0,l.Z)(O),I=null==O?void 0:O.replace("pathname://",""),R=void 0!==I?(L=I,w&&function(e){return e.startsWith("/")}(L)?T(L):L):void 0;R&&N&&(R=(0,s.applyTrailingSlash)(R,{trailingSlash:S,baseUrl:C}));var j=(0,o.useRef)(!1),M=h?i.OL:i.rU,D=u.Z.canUseIntersectionObserver,F=(0,o.useRef)(),B=function(){j.current||null==R||(window.docusaurus.preload(R),j.current=!0)};(0,o.useEffect)((function(){return!D&&N&&null!=R&&window.docusaurus.prefetch(R),function(){D&&F.current&&F.current.disconnect()}}),[F,R,D,N]);var z=null!=(n=null==(m=R)?void 0:m.startsWith("#"))&&n,U=!R||!N||z;return U||x||A.collectLink(R),U?o.createElement("a",(0,r.Z)({ref:P,href:R},O&&!N&&{target:"_blank",rel:"noopener noreferrer"},E)):o.createElement(M,(0,r.Z)({},E,{onMouseEnter:B,onTouchStart:B,innerRef:function(e){P.current=e,D&&e&&N&&(F.current=new window.IntersectionObserver((function(t){t.forEach((function(t){e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(F.current.unobserve(e),F.current.disconnect(),null!=R&&window.docusaurus.prefetch(R))}))})),F.current.observe(e))},to:R},h&&{isActive:y,activeClassName:v}))}const h=o.forwardRef(m)},95999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>s});var r=n(67294);function a(e,t){var n=e.split(/(\{\w+\})/).map((function(e,n){if(n%2==1){var r=null==t?void 0:t[e.slice(1,-1)];if(void 0!==r)return r}return e}));return n.some((function(e){return(0,r.isValidElement)(e)}))?n.map((function(e,t){return(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e})).filter((function(e){return""!==e})):n.join("")}var o=n(81465);function i(e){var t,n,r=e.id,a=e.message;if(void 0===r&&void 0===a)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(n=o[null!=r?r:a])?n:a)?t:r}function s(e,t){return a(i({message:e.message,id:e.id}),t)}function c(e){var t=e.children,n=e.id,o=e.values;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");var s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});var r="default"},13919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},44996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(67294),a=n(52263),o=n(13919);function i(){var e=(0,a.Z)().siteConfig,t=e.baseUrl,n=e.url,i=(0,r.useCallback)((function(e,r){return function(e,t,n,r){var a=void 0===r?{}:r,i=a.forcePrependBaseUrl,s=void 0!==i&&i,c=a.absolute,l=void 0!==c&&c;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(s)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;var u=n.startsWith(t)?n:t+n.replace(/^\//,"");return l?e+u:u}(n,t,e,r)}),[n,t]);return{withBaseUrl:i}}function s(e,t){return void 0===t&&(t={}),(0,i().withBaseUrl)(e,t)}},52263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(49633);function o(){return(0,r.useContext)(a._)}},72389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(98934);function o(){return(0,r.useContext)(a._)}},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=function(e){return"object"==typeof e&&!!e&&Object.keys(e).length>0};function a(e){var t={};return function e(n,a){Object.entries(n).forEach((function(n){var o=n[0],i=n[1],s=a?a+"."+o:o;r(i)?e(i,s):t[s]=i}))}(e),t}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(67294),a=r.createContext(null);function o(e){var t=e.children,n=e.value,o=r.useContext(a),i=(0,r.useMemo)((function(){return function(e){var t=e.parent,n=e.value;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}var r=Object.assign({},t.data,null==n?void 0:n.data);return{plugin:t.plugin,data:r}}({parent:o,value:n})}),[o,n]);return r.createElement(a.Provider,{value:i},t)}},80143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>p,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>f,yW:()=>g,gB:()=>h});var r=n(16550),a=n(52263),o=n(29935);function i(e,t){void 0===t&&(t={});var n=(0,a.Z)().globalData[e];if(!n&&t.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin.');return n}var s=function(e){return e.versions.find((function(e){return e.isLast}))};function c(e,t){var n=s(e);return[].concat(e.versions.filter((function(e){return e!==n})),[n]).find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})}))}function l(e,t){var n,a,o=c(e,t),i=null==o?void 0:o.docs.find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})}));return{activeVersion:o,activeDoc:i,alternateDocVersions:i?(n=i.id,a={},e.versions.forEach((function(e){e.docs.forEach((function(t){t.id===n&&(a[e.name]=t)}))})),a):{}}}var u={},d=function(){var e;return null!=(e=i("docusaurus-plugin-content-docs"))?e:u},f=function(e){return function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});var r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin with id "'+t+'".');return a}("docusaurus-plugin-content-docs",e,{failfast:!0})};function p(e){return void 0===e&&(e={}),function(e,t,n){void 0===n&&(n={});var a=Object.entries(e).sort((function(e,t){return t[1].path.localeCompare(e[1].path)})).find((function(e){var n=e[1];return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error("Can't find active docs plugin for \""+t+'" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: '+Object.values(e).map((function(e){return e.path})).join(", "));return o}(d(),(0,r.TH)().pathname,e)}function m(e){void 0===e&&(e={});var t=p(e),n=(0,r.TH)().pathname;if(t)return{activePlugin:t,activeVersion:c(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){var t=f(e);return s(t)}function b(e){return l(f(e),(0,r.TH)().pathname)}function v(e){return function(e,t){var n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(f(e),(0,r.TH)().pathname)}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(74865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate:function(e){var t=e.location,n=e.previousLocation;if(n&&t.pathname!==n.pathname){var r=window.setTimeout((function(){a().start()}),200);return function(){return window.clearTimeout(r)}}},onRouteDidUpdate:function(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r,a,o=n(87410),i=n(8618);r=o.Z,a=i.default.themeConfig.prism.additionalLanguages,globalThis.Prism=r,a.forEach((function(e){n(54294)("./prism-"+e)})),delete globalThis.Prism},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){var t=e.width,n=void 0===t?13.5:t,o=e.height,i=void 0===o?13.5:o;return r.createElement("svg",{width:n,height:i,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},34033:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Xt});var r=n(67294),a=n(86010),o=n(44763),i=n(10833),s=n(87462),c=n(16550),l=n(95999),u=n(85936),d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){var e=(0,r.useRef)(null),t=(0,c.k6)().action,n=(0,r.useCallback)((function(e){e.preventDefault();var t,n=null!=(t=document.querySelector("main:first-of-type"))?t:document.getElementById(d);n&&f(n)}),[]);return(0,u.S)((function(n){var r=n.location;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}var m=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){var t,n=null!=(t=e.children)?t:m,a=p(),o=a.containerRef,i=a.onClick;return r.createElement("div",{ref:o,role:"region","aria-label":m},r.createElement("a",(0,s.Z)({},e,{href:"#"+d,onClick:i}),n))}var g=n(35281),b=n(19727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var x=n(86668),k=n(59689),w=n(63366),E=["width","height","color","strokeWidth","className"];function _(e){var t=e.width,n=void 0===t?21:t,a=e.height,o=void 0===a?21:a,i=e.color,c=void 0===i?"currentColor":i,l=e.strokeWidth,u=void 0===l?1.2:l,d=(e.className,(0,w.Z)(e,E));return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:n,height:o},d),r.createElement("g",{stroke:c,strokeWidth:u},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function C(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(_,{width:14,height:14,strokeWidth:3.1}))}const T={content:"content_knG7"};function A(e){var t=(0,x.L)().announcementBar.content;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(T.content,e.className),dangerouslySetInnerHTML:{__html:t}}))}const P={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function O(){var e=(0,x.L)().announcementBar,t=(0,k.nT)(),n=t.isActive,a=t.close;if(!n)return null;var o=e.backgroundColor,i=e.textColor,s=e.isCloseable;return r.createElement("div",{className:P.announcementBar,style:{backgroundColor:o,color:i},role:"banner"},s&&r.createElement("div",{className:P.announcementBarPlaceholder}),r.createElement(A,{className:P.announcementBarContent}),s&&r.createElement(C,{onClick:a,className:P.announcementBarClose}))}var L=n(93163),N=n(12466);var I=n(69688),R=n(13102),j=r.createContext(null);function M(e){var t,n,a,o,i,s,c,l=e.children,u=(t=(0,L.e)(),n=(0,R.HY)(),a=(0,r.useState)(!1),o=a[0],i=a[1],s=null!==n.component,c=(0,I.D9)(s),(0,r.useEffect)((function(){s&&!c&&i(!0)}),[s,c]),(0,r.useEffect)((function(){s?t.shown||i(!0):i(!1)}),[t.shown,s]),(0,r.useMemo)((function(){return[o,i]}),[o]));return r.createElement(j.Provider,{value:u},l)}function D(e){if(e.component){var t=e.component;return r.createElement(t,e.props)}}function F(){var e=(0,r.useContext)(j);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");var t=e[0],n=e[1],a=(0,r.useCallback)((function(){return n(!1)}),[n]),o=(0,R.HY)();return(0,r.useMemo)((function(){return{shown:t,hide:a,content:D(o)}}),[a,o,t])}function B(e){var t=e.header,n=e.primaryMenu,o=e.secondaryMenu,i=F().shown;return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var z=n(92949),U=n(72389);function $(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function Z(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const H={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function G(e){var t=e.className,n=e.buttonClassName,o=e.value,i=e.onChange,s=(0,U.Z)(),c=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(H.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",H.toggleButton,!s&&H.toggleButtonDisabled,n),type:"button",onClick:function(){return i("dark"===o?"light":"dark")},disabled:!s,title:c,"aria-label":c,"aria-live":"polite"},r.createElement($,{className:(0,a.Z)(H.toggleIcon,H.lightToggleIcon)}),r.createElement(Z,{className:(0,a.Z)(H.toggleIcon,H.darkToggleIcon)})))}const V=r.memo(G),q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function W(e){var t=e.className,n=(0,x.L)().navbar.style,a=(0,x.L)().colorMode.disableSwitch,o=(0,z.I)(),i=o.colorMode,s=o.setColorMode;return a?null:r.createElement(V,{className:t,buttonClassName:"dark"===n?q.darkNavbarColorModeToggle:void 0,value:i,onChange:s})}var Y=n(87846);function K(){return r.createElement(Y.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function X(){var e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:function(){return e.toggle()}},r.createElement(_,{color:"var(--ifm-color-emphasis-600)"}))}function Q(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(K,null),r.createElement(W,{className:"margin-right--md"}),r.createElement(X,null))}var J=n(39960),ee=n(44996),te=n(13919),ne=n(98022),re=n(39471),ae=["activeBasePath","activeBaseRegex","to","href","label","html","isDropdownLink","prependBaseUrlToHref"];function oe(e){var t=e.activeBasePath,n=e.activeBaseRegex,a=e.to,o=e.href,i=e.label,c=e.html,l=e.isDropdownLink,u=e.prependBaseUrlToHref,d=(0,w.Z)(e,ae),f=(0,ee.Z)(a),p=(0,ee.Z)(t),m=(0,ee.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,te.Z)(o),g=c?{dangerouslySetInnerHTML:{__html:c}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(re.Z,l&&{width:12,height:12}))};return o?r.createElement(J.Z,(0,s.Z)({href:u?m:o},d,g)):r.createElement(J.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:function(e,t){return n?(0,ne.F)(n,t.pathname):t.pathname.startsWith(p)}},d,g))}var ie=["className","isDropdownItem"],se=["className","isDropdownItem"],ce=["mobile","position"];function le(e){var t=e.className,n=e.isDropdownItem,o=void 0!==n&&n,i=(0,w.Z)(e,ie),c=r.createElement(oe,(0,s.Z)({className:(0,a.Z)(o?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:o},i));return o?r.createElement("li",null,c):c}function ue(e){var t=e.className,n=(e.isDropdownItem,(0,w.Z)(e,se));return r.createElement("li",{className:"menu__list-item"},r.createElement(oe,(0,s.Z)({className:(0,a.Z)("menu__link",t)},n)))}function de(e){var t,n=e.mobile,a=void 0!==n&&n,o=(e.position,(0,w.Z)(e,ce)),i=a?ue:le;return r.createElement(i,(0,s.Z)({},o,{activeClassName:null!=(t=o.activeClassName)?t:a?"menu__link--active":"navbar__link--active"}))}var fe=n(86043),pe=n(48596),me=n(52263);var he=["items","position","className","onClick"],ge=["items","className","position","onClick"],be=["mobile"];function ve(e,t){return e.some((function(e){return function(e,t){return!!(0,pe.Mg)(e.to,t)||!!(0,ne.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)}))}function ye(e){var t,n=e.items,o=e.position,i=e.className,c=(e.onClick,(0,w.Z)(e,he)),l=(0,r.useRef)(null),u=(0,r.useState)(!1),d=u[0],f=u[1];return(0,r.useEffect)((function(){var e=function(e){l.current&&!l.current.contains(e.target)&&f(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),r.createElement("div",{ref:l,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===o,"dropdown--show":d})},r.createElement(oe,(0,s.Z)({"aria-haspopup":"true","aria-expanded":d,role:"button",href:c.to?void 0:"#",className:(0,a.Z)("navbar__link",i)},c,{onClick:c.to?void 0:function(e){return e.preventDefault()},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),f(!d))}}),null!=(t=c.children)?t:c.label),r.createElement("ul",{className:"dropdown__menu"},n.map((function(e,t){return r.createElement(it,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))}))))}function xe(e){var t,n,o=e.items,i=e.className,l=(e.position,e.onClick),u=(0,w.Z)(e,ge),d=(n=(0,me.Z)().siteConfig.baseUrl,(0,c.TH)().pathname.replace(n,"/")),f=ve(o,d),p=(0,fe.u)({initialState:function(){return!f}}),m=p.collapsed,h=p.toggleCollapsed,g=p.setCollapsed;return(0,r.useEffect)((function(){f&&g(!f)}),[d,f,g]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":m})},r.createElement(oe,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",i)},u,{onClick:function(e){e.preventDefault(),h()}}),null!=(t=u.children)?t:u.label),r.createElement(fe.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:m},o.map((function(e,t){return r.createElement(it,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:l,activeClassName:"menu__link--active"},e,{key:t}))}))))}function ke(e){var t=e.mobile,n=void 0!==t&&t,a=(0,w.Z)(e,be),o=n?xe:ye;return r.createElement(o,a)}var we=n(94711),Ee=["width","height"];function _e(e){var t=e.width,n=void 0===t?20:t,a=e.height,o=void 0===a?20:a,i=(0,w.Z)(e,Ee);return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:n,height:o,"aria-hidden":!0},i),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const Se="iconLanguage_nlXk";var Ce=["mobile","dropdownItemsBefore","dropdownItemsAfter"];function Te(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var Ae=n(20830),Pe=["translations"];function Oe(){return Oe=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Re="Ctrl";var je=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ie(e,Pe),i=a.buttonText,s=void 0===i?"Search":i,c=a.buttonAriaLabel,l=void 0===c?"Search":c,u=Le((0,r.useState)(null),2),d=u[0],f=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Re))}),[]),r.createElement("button",Oe({type:"button",className:"DocSearch DocSearch-Button","aria-label":l},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(Ae.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Re?r.createElement(Te,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Me=n(35742),De=n(66177),Fe=n(239),Be=n(43320);var ze=n(73935);const Ue={button:{buttonText:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,l.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,l.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,l.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,l.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,l.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,l.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,l.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,l.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};var $e=["contextualSearch","externalUrlRegex"],Ze=null;function He(e){var t=e.hit,n=e.children;return r.createElement(J.Z,{to:t.url},n)}function Ge(e){var t=e.state,n=e.onClose,a=(0,De.M)();return r.createElement(J.Z,{to:a(t.query),onClick:n},r.createElement(l.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Ve(e){var t,a,o,i,l,u=e.contextualSearch,d=e.externalUrlRegex,f=(0,w.Z)(e,$e),p=(0,me.Z)().siteMetadata,m=(0,Fe.l)(),h=["language:"+(o=(0,Be._q)()).locale,o.tags.map((function(e){return"docusaurus_tag:"+e}))],g=null!=(t=null==(a=f.searchParameters)?void 0:a.facetFilters)?t:[],b=u?(i=g,[].concat((l=function(e){return"string"==typeof e?[e]:e})(h),l(i))):g,v=Object.assign({},f.searchParameters,{facetFilters:b}),y=(0,c.k6)(),x=(0,r.useRef)(null),k=(0,r.useRef)(null),E=(0,r.useState)(!1),_=E[0],S=E[1],C=(0,r.useState)(void 0),T=C[0],A=C[1],P=(0,r.useCallback)((function(){return Ze?Promise.resolve():Promise.all([n.e(6780).then(n.bind(n,76780)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,46945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,18894))]).then((function(e){var t=e[0].DocSearchModal;Ze=t}))}),[]),O=(0,r.useCallback)((function(){P().then((function(){x.current=document.createElement("div"),document.body.insertBefore(x.current,document.body.firstChild),S(!0)}))}),[P,S]),L=(0,r.useCallback)((function(){var e;S(!1),null==(e=x.current)||e.remove()}),[S]),N=(0,r.useCallback)((function(e){P().then((function(){S(!0),A(e.key)}))}),[P,S,A]),I=(0,r.useRef)({navigate:function(e){var t=e.itemUrl;(0,ne.F)(d,t)?window.location.href=t:y.push(t)}}).current,R=(0,r.useRef)((function(e){return f.transformItems?f.transformItems(e):e.map((function(e){return Object.assign({},e,{url:m(e.url)})}))})).current,j=(0,r.useMemo)((function(){return function(e){return r.createElement(Ge,(0,s.Z)({},e,{onClose:L}))}}),[L]),M=(0,r.useCallback)((function(e){return e.addAlgoliaAgent("docusaurus",p.docusaurusVersion),e}),[p.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:_,onOpen:O,onClose:L,onInput:N,searchButtonRef:k}),r.createElement(r.Fragment,null,r.createElement(Me.Z,null,r.createElement("link",{rel:"preconnect",href:"https://"+f.appId+"-dsn.algolia.net",crossOrigin:"anonymous"})),r.createElement(je,{onTouchStart:P,onFocus:P,onMouseOver:P,onClick:O,ref:k,translations:Ue.button}),_&&Ze&&x.current&&(0,ze.createPortal)(r.createElement(Ze,(0,s.Z)({onClose:L,initialScrollY:window.scrollY,initialQuery:T,navigator:I,transformItems:R,hitComponent:He,transformSearchClient:M},f.searchPagePath&&{resultsFooterComponent:j},f,{searchParameters:v,placeholder:Ue.placeholder,translations:Ue.modal})),x.current))}function qe(){var e=(0,me.Z)().siteConfig;return r.createElement(Ve,e.themeConfig.algolia)}const We={searchBox:"searchBox_ZlJk"};function Ye(e){var t=e.children,n=e.className;return r.createElement("div",{className:(0,a.Z)(n,We.searchBox)},t)}var Ke=n(80143),Xe=n(53438),Qe=["docId","label","docsPluginId"];var Je=["sidebarId","label","docsPluginId"];var et=["label","to","docsPluginId"];var tt=n(60373),nt=["mobile","docsPluginId","dropdownActiveClassDisabled","dropdownItemsBefore","dropdownItemsAfter"],rt=function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))};const at={default:de,localeDropdown:function(e){var t=e.mobile,n=e.dropdownItemsBefore,a=e.dropdownItemsAfter,o=(0,w.Z)(e,Ce),i=(0,me.Z)().i18n,u=i.currentLocale,d=i.locales,f=i.localeConfigs,p=(0,we.l)(),m=(0,c.TH)(),h=m.search,g=m.hash,b=d.map((function(e){var n=""+("pathname://"+p.createUrl({locale:e,fullyQualified:!1}))+h+g;return{label:f[e].label,lang:f[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===u?t?"menu__link--active":"dropdown__link--active":""}})),v=[].concat(n,b,a),y=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):f[u].label;return r.createElement(ke,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(_e,{className:Se}),y),items:v}))},search:function(e){var t=e.mobile,n=e.className;return t?null:r.createElement(Ye,{className:n},r.createElement(qe,null))},dropdown:ke,html:function(e){var t=e.value,n=e.className,o=e.mobile,i=void 0!==o&&o,s=e.isDropdownItem,c=void 0!==s&&s,l=c?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!i&&!c,"menu__list-item":i},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){var t=e.docId,n=e.label,a=e.docsPluginId,o=(0,w.Z)(e,Qe),i=(0,Ke.Iw)(a).activeDoc,c=(0,Xe.vY)(t,a);return null===c?null:r.createElement(de,(0,s.Z)({exact:!0},o,{isActive:function(){return(null==i?void 0:i.path)===c.path||!(null==i||!i.sidebar)&&i.sidebar===c.sidebar},label:null!=n?n:c.id,to:c.path}))},docSidebar:function(e){var t=e.sidebarId,n=e.label,a=e.docsPluginId,o=(0,w.Z)(e,Je),i=(0,Ke.Iw)(a).activeDoc,c=(0,Xe.oz)(t,a).link;if(!c)throw new Error('DocSidebarNavbarItem: Sidebar with ID "'+t+"\" doesn't have anything to be linked to.");return r.createElement(de,(0,s.Z)({exact:!0},o,{isActive:function(){return(null==i?void 0:i.sidebar)===t},label:null!=n?n:c.label,to:c.path}))},docsVersion:function(e){var t=e.label,n=e.to,a=e.docsPluginId,o=(0,w.Z)(e,et),i=(0,Xe.lO)(a)[0],c=null!=t?t:i.label,l=null!=n?n:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(i).path;return r.createElement(de,(0,s.Z)({},o,{label:c,to:l}))},docsVersionDropdown:function(e){var t=e.mobile,n=e.docsPluginId,a=e.dropdownActiveClassDisabled,o=e.dropdownItemsBefore,i=e.dropdownItemsAfter,u=(0,w.Z)(e,nt),d=(0,c.TH)(),f=d.search,p=d.hash,m=(0,Ke.Iw)(n),h=(0,Ke.gB)(n),g=(0,tt.J)(n).savePreferredVersionName,b=h.map((function(e){var t,n=null!=(t=m.alternateDocVersions[e.name])?t:rt(e);return{label:e.label,to:""+n.path+f+p,isActive:function(){return e===m.activeVersion},onClick:function(){return g(e.name)}}})),v=[].concat(o,b,i),y=(0,Xe.lO)(n)[0],x=t&&v.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,k=t&&v.length>1?void 0:rt(y).path;return v.length<=1?r.createElement(de,(0,s.Z)({},u,{mobile:t,label:x,to:k,isActive:a?function(){return!1}:void 0})):r.createElement(ke,(0,s.Z)({},u,{mobile:t,label:x,to:k,items:v,isActive:a?function(){return!1}:void 0}))}};var ot=["type"];function it(e){var t=e.type,n=(0,w.Z)(e,ot),a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=at[a];if(!o)throw new Error('No NavbarItem component found for type "'+t+'".');return r.createElement(o,n)}function st(){var e=(0,L.e)(),t=(0,x.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map((function(t,n){return r.createElement(it,(0,s.Z)({mobile:!0},t,{onClick:function(){return e.toggle()},key:n}))})))}function ct(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function lt(){var e=0===(0,x.L)().navbar.items.length,t=F();return r.createElement(r.Fragment,null,!e&&r.createElement(ct,{onClick:function(){return t.hide()}}),t.content)}function ut(){var e,t=(0,L.e)();return void 0===(e=t.shown)&&(e=!0),(0,r.useEffect)((function(){return document.body.style.overflow=e?"hidden":"visible",function(){document.body.style.overflow="visible"}}),[e]),t.shouldRender?r.createElement(B,{header:r.createElement(Q,null),primaryMenu:r.createElement(st,null),secondaryMenu:r.createElement(lt,null)}):null}const dt={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function ft(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function pt(e){var t=e.children,n=(0,x.L)().navbar,o=n.hideOnScroll,i=n.style,s=(0,L.e)(),c=function(e){var t=(0,r.useState)(e),n=t[0],a=t[1],o=(0,r.useRef)(!1),i=(0,r.useRef)(0),s=(0,r.useCallback)((function(e){null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,N.RF)((function(t,n){var r=t.scrollY;if(e)if(r=s?a(!1):r+l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}const Zt=function(e){var t=e.title,n=e.titleId,a=$t(e,zt);return r.createElement("svg",Ut({id:"Content",xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 6593.8 1410.3",style:{enableBackground:"new 0 0 6593.8 1410.3"},xmlSpace:"preserve","aria-labelledby":n},a),t?r.createElement("title",{id:n},t):null,Pt||(Pt=r.createElement("style",null,".st0{fill:#fff}")),Ot||(Ot=r.createElement("path",{className:"st0",d:"M2047.8 210.4c-77.2 0-151.6 9.7-181.9 17.9-44.1 12.4-55.1 31.7-63.4 71.7l-175 807.5c-2.8 16.5-5.5 30.3-5.5 44.1 0 40 26.2 66.1 68.9 66.1 46.9 0 66.2-30.3 75.8-77.2l49.6-230.1c34.4 4.1 79.9 8.3 144.7 8.3 285.3 0 463-154.3 463-387.2 0-204-142-321.1-376.2-321.1zm-93.7 576c-44.1 0-78.6-1.4-110.2-5.5l92.3-428.6c28.9-4.1 71.7-9.7 115.8-9.7 151.6 0 228.8 71.7 228.8 190.2-.1 151.6-110.4 253.6-326.7 253.6zM6537.3 951.7c-23.4 0-38.6 13.8-67.5 45.5-51 52.4-82.7 81.3-122.6 81.3-35.8 0-55.1-28.9-55.1-75.8 0-26.2 5.5-57.9 12.4-92.3l51-239.8h153c48.2 0 77.2-27.6 77.2-77.2 0-27.6-17.9-48.2-59.2-48.2H6383l24.8-111.6c2.8-16.5 5.5-31.7 5.5-45.5 0-38.6-26.2-66.2-68.9-66.2-45.5 0-66.1 30.3-75.8 77.2l-31.7 146.1h-64.8c-49.6 0-78.5 27.6-78.5 77.2 0 27.6 19.3 48.2 60.6 48.2h56.5l-51 237c-5.5 26.2-12.4 68.9-12.4 113 0 111.6 57.9 192.9 181.9 192.9 71.7 0 135-35.8 183.3-78.6 46.9-41.3 81.3-92.3 81.3-125.4 0-31.6-24.8-57.8-56.5-57.8zM3367.9 291.7c0-40-27.6-66.2-70.3-66.2-45.5 0-66.1 30.3-75.8 77.2l-172.2 800.6c-4.1 16.5-6.9 30.3-6.9 44.1 0 40 27.6 66.1 68.9 66.1 46.9 0 67.5-30.3 77.2-77.2L3361 335.8c2.8-16.6 6.9-30.3 6.9-44.1zM5827.6 531.4c-220.5 0-370.7 219.1-370.7 427.2 0 3.9.1 7.8.2 11.6-34.6 52.5-78.8 106.9-109.1 106.9-22 0-30.3-20.7-30.3-52.4 0-38.6 11-103.4 23.4-159.9l114.4-529.2c2.8-16.5 5.5-30.3 5.5-44.1 0-40-26.2-66.2-68.9-66.2-46.9 0-66.1 30.3-75.8 77.2l-62 286.6c-33.1-34.4-81.4-57.9-154.4-57.9-146.4 0-293.7 112.7-351.1 285.6-63.2 163.4-119.7 260.1-164.3 260.1-16.5 0-26.2-13.8-26.2-37.2 0-68.9 38.6-237 55.1-318.3 5.5-30.3 8.3-42.7 8.3-60.6 0-60.6-100.6-132.3-231.5-132.3-151.4 0-288.5 95.9-357.2 238.3-102.1 180.4-195.8 310.1-242.2 310.1-20.7 0-27.6-26.2-33.1-51L3723.4 836l210.8-172.2c19.3-16.5 44.1-40 44.1-70.3 0-37.2-24.8-62-62-62-27.6 0-51 16.5-74.4 35.8L3525 829.1l106.1-493.3c2.8-16.5 6.9-30.3 6.9-44.1 0-40-27.6-66.2-70.3-66.2-45.5 0-66.1 30.3-75.8 77.2l-172.2 800.6c-4.1 16.5-6.9 30.3-6.9 44.1 0 40 27.6 66.1 68.9 66.1 46.9 0 67.5-30.3 77.2-77.2L3481 1033l129.5-104.7 31.7 159.8c12.4 63.4 45.5 125.4 130.9 125.4 85 0 151.9-77.6 218.9-182.5 20.3 109.9 98.5 182.5 207 182.5 108.9 0 183.3-64.8 231.5-151.6v2.8c0 89.6 45.5 148.8 125.4 148.8 72.3 0 132.3-43.6 185.9-136.2 30.4 80.7 98.4 136.2 193 136.2 111.6 0 191.5-67.5 242.5-161.2v8.3c0 99.2 49.6 153 130.9 153 71.8 0 132.8-41.7 184.9-109.5 39.6 67.8 110.6 109.5 206.5 109.5 220.5 0 370.7-219.1 370.7-428.6-.1-147.5-89.7-253.6-242.7-253.6zM4453.8 811.2c-40 172.2-125.4 270.1-221.9 270.1-64.8 0-100.6-49.6-100.6-124 0-146.1 106.1-303.2 248-303.2 42.7 0 75.8 12.4 104.7 30.3l-30.2 126.8zm767.5-73c-44.1 202.6-144.7 343.1-254.9 343.1-60.6 0-96.5-46.9-96.5-124 0-147.4 102-300.4 238.4-300.4 52.4 0 92.3 17.9 121.3 41.3l-8.3 40zm494.7 343.1c-79.9 0-113-57.9-113-130.9 0-133.7 92.3-286.6 208.1-286.6 79.9 0 113 57.9 113 130.9 0 135-92.3 286.6-208.1 286.6zM2767.1 531.4c-220.5 0-370.7 219.1-370.7 427.2 0 148.8 89.6 254.9 242.5 254.9 220.5 0 370.7-219.1 370.7-428.6 0-147.4-89.6-253.5-242.5-253.5zm-111.6 549.9c-79.9 0-113-57.9-113-130.9 0-133.7 92.3-286.6 208.1-286.6 79.9 0 113 57.9 113 130.9-.1 135-92.4 286.6-208.1 286.6z"})),Lt||(Lt=r.createElement("ellipse",{className:"st0",cx:663,cy:147.9,rx:254.3,ry:147.9})),Nt||(Nt=r.createElement("ellipse",{className:"st0",cx:663,cy:1262.3,rx:254.3,ry:147.9})),It||(It=r.createElement("ellipse",{transform:"rotate(-60 180.499 426.56)",className:"st0",cx:180.5,cy:426.5,rx:254.3,ry:148})),Rt||(Rt=r.createElement("ellipse",{transform:"rotate(-60 1145.575 983.768)",className:"st0",cx:1145.6,cy:983.7,rx:254.3,ry:147.9})),jt||(jt=r.createElement("ellipse",{transform:"rotate(-30 180.45 983.72)",className:"st0",cx:180.5,cy:983.7,rx:148,ry:254.3})),Mt||(Mt=r.createElement("ellipse",{transform:"rotate(-30 1145.522 426.601)",className:"st0",cx:1145.6,cy:426.6,rx:147.9,ry:254.3})))};function Ht(){var e=function(e){var t=e.href,n=e.className;return r.createElement("li",{className:"text-white mr-2 mr-lg-0 mr-xl-2"},r.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer"},r.createElement("i",{className:n})))},t=function(){return r.createElement("ul",{className:"list-social-links mt-5 mt-lg-0 justify-content-lg-end"},r.createElement(e,{href:"https://twitter.com/Polkadot",className:"socicon-twitter"}),r.createElement(e,{href:"https://www.reddit.com/r/polkadot",className:"socicon-reddit"}),r.createElement(e,{href:"https://github.com/paritytech/polkadot",className:"socicon-github"}),r.createElement(e,{href:"https://www.youtube.com/channel/UCB7PbjuZLEba_znc7mEGNgw",className:"socicon-youtube"}),r.createElement(e,{href:"https://dot.li/discord",className:"socicon-discord"}))};return r.createElement(Bt.Z,{className:"px-lg-0"},r.createElement(t,null))}function Gt(e){var t=e.href,n=e.content;return r.createElement("li",null,r.createElement("a",{href:t,className:"text-white text-small",target:"_blank",rel:"noopener noreferrer"},n))}function Vt(){var e=(0,me.Z)().siteConfig.themeConfig.footer;return r.createElement("footer",{className:"nav-footer spacer-y-4",id:"footer"},r.createElement(Dt.Z,{className:"container-custom"},r.createElement(Ft.Z,{className:"footer-legal align-items-end"},e&&r.createElement(Bt.Z,{lg:2,className:"mb-2 mb-lg-0"},r.createElement("a",{className:"navbar-brand",href:"https://polkadot.network/",target:"_blank",rel:"noopener noreferrer"},r.createElement(Zt,{height:31,alt:"Polkadot Network"}))),r.createElement(Bt.Z,{lg:6},r.createElement("ul",{className:"list-unstyled d-flex flex-wrap list-pipe-separator mt-2"},r.createElement(Gt,{content:e.copyright,href:"https://web3.foundation"}),r.createElement(Gt,{content:(0,l.I)({message:"Legal Disclosures",id:"footer.footerLegal.legal-diclosures",description:"Legal Disclosures Button Label in Footer Legal"}),href:"https://polkadot.network/legal-disclosures"}),r.createElement(Gt,{content:(0,l.I)({message:"Disclaimer",id:"footer.footerLegal.disclaimer",description:"Disclaimer Button Label in Footer Legal"}),href:"https://polkadot.network/disclaimer"}),r.createElement(Gt,{content:(0,l.I)({message:"Privacy",id:"footer.footerLegal.privacy",description:"Privacy Button Label in Footer Legal"}),href:"https://polkadot.network/privacy"}))),r.createElement(Ht,null))))}var qt=(0,I.Qc)([z.S,k.pl,N.OC,tt.L5,i.VC,function(e){var t=e.children;return r.createElement(R.n2,null,r.createElement(L.M,null,r.createElement(M,null,t)))}]);function Wt(e){var t=e.children;return r.createElement(qt,null,t)}function Yt(e){var t=e.error,n=e.tryAgain;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(bt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(vt,{error:t})))))}const Kt={mainWrapper:"mainWrapper_z2l0"};function Xt(e){var t=e.children,n=e.noFooter,s=e.wrapperClassName,c=e.title,l=e.description;return(0,b.t)(),r.createElement(Wt,null,r.createElement(i.d,{title:c,description:l}),r.createElement(y,null),r.createElement(O,null),r.createElement(At,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Kt.mainWrapper,s)},r.createElement(o.Z,{fallback:function(e){return r.createElement(Yt,e)}},t)),!n&&r.createElement(Vt,null))}},87846:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(87462),a=n(63366),o=n(67294),i=n(39960),s=n(44996),c=n(52263),l=n(86668),u=n(86010),d=n(72389),f=n(92949);const p={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};var m=["sources","className","alt"];function h(e){var t=(0,d.Z)(),n=(0,f.I)().colorMode,i=e.sources,s=e.className,c=e.alt,l=(0,a.Z)(e,m),h=t?"dark"===n?["dark"]:["light"]:["light","dark"];return o.createElement(o.Fragment,null,h.map((function(e){return o.createElement("img",(0,r.Z)({key:e,src:i[e],alt:c,className:(0,u.Z)(p.themedImage,p["themedImage--"+e],s)},l))})))}var g=["imageClassName","titleClassName"];function b(e){var t=e.logo,n=e.alt,r=e.imageClassName,a={light:(0,s.Z)(t.src),dark:(0,s.Z)(t.srcDark||t.src)},i=o.createElement(h,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?o.createElement("div",{className:r},i):i}function v(e){var t,n=(0,c.Z)().siteConfig.title,u=(0,l.L)().navbar,d=u.title,f=u.logo,p=e.imageClassName,m=e.titleClassName,h=(0,a.Z)(e,g),v=(0,s.Z)((null==f?void 0:f.href)||"/"),y=d?"":n,x=null!=(t=null==f?void 0:f.alt)?t:y;return o.createElement(i.Z,(0,r.Z)({to:v},h,(null==f?void 0:f.target)&&{target:f.target}),f&&o.createElement(b,{logo:f,alt:x,imageClassName:p}),null!=d&&o.createElement("b",{className:m},d))}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(35742);function o(e){var t=e.locale,n=e.version,o=e.tag,i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>d,z:()=>y});var r=n(87462),a=n(63366),o=n(67294),i=n(10412),s=n(91442),c=["collapsed"],l=["lazy"],u="ease-in-out";function d(e){var t=e.initialState,n=(0,o.useState)(null!=t&&t),r=n[0],a=n[1],i=(0,o.useCallback)((function(){a((function(e){return!e}))}),[]);return{collapsed:r,setCollapsed:a,toggleCollapsed:i}}var f={display:"none",overflow:"hidden",height:"0px"},p={display:"block",overflow:"visible",height:"auto"};function m(e,t){var n=t?f:p;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function h(e){var t=e.collapsibleRef,n=e.collapsed,r=e.animation,a=(0,o.useRef)(!1);(0,o.useEffect)((function(){var e,o=t.current;function i(){var e,t,n=o.scrollHeight,a=null!=(e=null==r?void 0:r.duration)?e:function(e){if((0,s.n)())return 1;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}(n);return{transition:"height "+a+"ms "+(null!=(t=null==r?void 0:r.easing)?t:u),height:n+"px"}}function c(){var e=i();o.style.transition=e.transition,o.style.height=e.height}if(!a.current)return m(o,n),void(a.current=!0);return o.style.willChange="height",e=requestAnimationFrame((function(){n?(c(),requestAnimationFrame((function(){o.style.height=f.height,o.style.overflow=f.overflow}))):(o.style.display="block",requestAnimationFrame((function(){c()})))})),function(){return cancelAnimationFrame(e)}}),[t,n,r])}function g(e){if(!i.Z.canUseDOM)return e?f:p}function b(e){var t=e.as,n=void 0===t?"div":t,r=e.collapsed,a=e.children,i=e.animation,s=e.onCollapseTransitionEnd,c=e.className,l=e.disableSSRStyle,u=(0,o.useRef)(null);return h({collapsibleRef:u,collapsed:r,animation:i}),o.createElement(n,{ref:u,style:l?void 0:g(r),onTransitionEnd:function(e){"height"===e.propertyName&&(m(u.current,r),null==s||s(r))},className:c},a)}function v(e){var t=e.collapsed,n=(0,a.Z)(e,c),i=(0,o.useState)(!t),s=i[0],l=i[1],u=(0,o.useState)(t),d=u[0],f=u[1];return(0,o.useLayoutEffect)((function(){t||l(!0)}),[t]),(0,o.useLayoutEffect)((function(){s&&f(t)}),[s,t]),s?o.createElement(b,(0,r.Z)({},n,{collapsed:d})):null}function y(e){var t=e.lazy,n=(0,a.Z)(e,l),r=t?v:b;return o.createElement(r,n)}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(67294),a=n(72389),o=n(50012),i=n(69688),s=n(86668),c=(0,o.WA)("docusaurus.announcement.dismiss"),l=(0,o.WA)("docusaurus.announcement.id"),u=function(){return"true"===c.get()},d=function(e){return c.set(String(e))},f=r.createContext(null);function p(e){var t=e.children,n=function(){var e=(0,s.L)().announcementBar,t=(0,a.Z)(),n=(0,r.useState)((function(){return!!t&&u()})),o=n[0],i=n[1];(0,r.useEffect)((function(){i(u())}),[]);var c=(0,r.useCallback)((function(){d(!0),i(!0)}),[]);return(0,r.useEffect)((function(){if(e){var t=e.id,n=l.get();"annoucement-bar"===n&&(n="announcement-bar");var r=t!==n;l.set(t),r&&d(!1),!r&&u()||i(!1)}}),[e]),(0,r.useMemo)((function(){return{isActive:!!e&&!o,close:c}}),[e,o,c])}();return r.createElement(f.Provider,{value:n},t)}function m(){var e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(67294),a=n(10412),o=n(69688),i=n(50012),s=n(86668),c=r.createContext(void 0),l="theme",u=(0,i.WA)(l),d={light:"light",dark:"dark"},f=function(e){return e===d.dark?d.dark:d.light},p=function(e){return a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e)},m=function(e){u.set(f(e))};function h(e){var t=e.children,n=function(){var e=(0,s.L)().colorMode,t=e.defaultMode,n=e.disableSwitch,a=e.respectPrefersColorScheme,o=(0,r.useState)(p(t)),i=o[0],c=o[1];(0,r.useEffect)((function(){n&&u.del()}),[n]);var h=(0,r.useCallback)((function(e,n){void 0===n&&(n={});var r=n.persist,o=void 0===r||r;e?(c(e),o&&m(e)):(c(a?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:t),u.del())}),[a,t]);(0,r.useEffect)((function(){document.documentElement.setAttribute("data-theme",f(i))}),[i]),(0,r.useEffect)((function(){if(!n){var e=function(e){if(e.key===l){var t=u.get();null!==t&&h(f(t))}};return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}}}),[n,h]);var g=(0,r.useRef)(!1);return(0,r.useEffect)((function(){if(!n||a){var e=window.matchMedia("(prefers-color-scheme: dark)"),t=function(){window.matchMedia("print").matches||g.current?g.current=window.matchMedia("print").matches:h(null)};return e.addListener(t),function(){return e.removeListener(t)}}}),[h,n,a]),(0,r.useMemo)((function(){return{colorMode:i,setColorMode:h,get isDarkTheme(){return i===d.dark},setLightTheme:function(){h(d.light)},setDarkTheme:function(){h(d.dark)}}}),[i,h])}();return r.createElement(c.Provider,{value:n},t)}function g(){var e=(0,r.useContext)(c);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g,Oh:()=>y});var r=n(67294),a=n(80143),o=n(29935),i=n(86668),s=n(53438),c=n(69688),l=n(50012),u=function(e){return"docs-preferred-version-"+e},d={save:function(e,t,n){(0,l.WA)(u(e),{persistence:t}).set(n)},read:function(e,t){return(0,l.WA)(u(e),{persistence:t}).get()},clear:function(e,t){(0,l.WA)(u(e),{persistence:t}).del()}},f=function(e){return Object.fromEntries(e.map((function(e){return[e,{preferredVersionName:null}]})))};var p=r.createContext(null);function m(){var e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((function(){return Object.keys(e)}),[e]),o=(0,r.useState)((function(){return f(n)})),s=o[0],c=o[1];return(0,r.useEffect)((function(){c(function(e){var t=e.pluginIds,n=e.versionPersistence,r=e.allDocsData;return Object.fromEntries(t.map((function(e){return[e,(t=e,a=d.read(t,n),r[t].versions.some((function(e){return e.name===a}))?{preferredVersionName:a}:(d.clear(t,n),{preferredVersionName:null}))];var t,a})))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]),[s,(0,r.useMemo)((function(){return{savePreferredVersion:function(e,n){d.save(e,t,n),c((function(t){var r;return Object.assign({},t,((r={})[e]={preferredVersionName:n},r))}))}}}),[t])]}function h(e){var t=e.children,n=m();return r.createElement(p.Provider,{value:n},t)}function g(e){var t=e.children;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){var e=(0,r.useContext)(p);if(!e)throw new c.i6("DocsPreferredVersionContextProvider");return e}function v(e){var t;void 0===e&&(e=o.m);var n=(0,a.zh)(e),i=b(),s=i[0],c=i[1],l=s[e].preferredVersionName;return{preferredVersion:null!=(t=n.versions.find((function(e){return e.name===l})))?t:null,savePreferredVersionName:(0,r.useCallback)((function(t){c.savePreferredVersion(e,t)}),[c,e])}}function y(){var e=(0,a._r)(),t=b()[0];var n=Object.keys(e);return Object.fromEntries(n.map((function(n){return[n,(r=n,o=e[r],i=t[r].preferredVersionName,null!=(a=o.versions.find((function(e){return e.name===i})))?a:null)];var r,a,o,i})))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>s});var r=n(67294),a=n(69688),o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){var t=e.children,n=e.name,a=e.items,o=(0,r.useMemo)((function(){return n&&a?{name:n,items:a}:null}),[n,a]);return r.createElement(i.Provider,{value:o},t)}function c(){var e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},74477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>i});var r=n(67294),a=n(69688),o=r.createContext(null);function i(e){var t=e.children,n=e.version;return r.createElement(o.Provider,{value:n},t)}function s(){var e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},93163:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>f});var r=n(67294),a=n(13102),o=n(87524),i=n(91980),s=n(86668),c=n(69688),l=r.createContext(void 0);function u(){var e,t=(e=(0,a.HY)(),0===(0,s.L)().navbar.items.length&&!e.component),n=(0,o.i)(),c=!t&&"mobile"===n,l=(0,r.useState)(!1),u=l[0],d=l[1];(0,i.Rb)((function(){if(u)return d(!1),!1}));var f=(0,r.useCallback)((function(){d((function(e){return!e}))}),[]);return(0,r.useEffect)((function(){"desktop"===n&&d(!1)}),[n]),(0,r.useMemo)((function(){return{disabled:t,shouldRender:c,toggle:f,shown:u}}),[t,c,f,u])}function d(e){var t=e.children,n=u();return r.createElement(l.Provider,{value:n},t)}function f(){var e=r.useContext(l);if(void 0===e)throw new c.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>c,n2:()=>i});var r=n(67294),a=n(69688),o=r.createContext(null);function i(e){var t=e.children,n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){var e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){var t=e.component,n=e.props,i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");var s=i[1],c=(0,a.Ql)(n);return(0,r.useEffect)((function(){s({component:t,props:c})}),[s,t,c]),(0,r.useEffect)((function(){return function(){return s({component:null,props:null})}}),[s]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(67294),a="navigation-with-keyboard";function o(){(0,r.useEffect)((function(){function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),function(){document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},66177:(e,t,n)=>{"use strict";n.d(t,{K:()=>s,M:()=>c});var r=n(67294),a=n(52263),o=n(91980),i="q";function s(){return(0,o.Nc)(i)}function c(){var e=(0,a.Z)().siteConfig,t=e.baseUrl,n=e.themeConfig.algolia.searchPagePath;return(0,r.useCallback)((function(e){return""+t+n+"?"+i+"="+encodeURIComponent(e)}),[t,n])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(67294),a=n(10412),o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}var c=!1;function l(){var e=(0,r.useState)((function(){return c?"ssr":s()})),t=e[0],n=e[1];return(0,r.useEffect)((function(){function e(){n(s())}var t=c?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e),clearTimeout(t)}}),[]),t}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});var r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:function(e){return"theme-admonition-"+e}},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:function(e){return"theme-doc-sidebar-item-category-level-"+e},docSidebarItemLinkLevel:function(e){return"theme-doc-sidebar-item-link-level-"+e}},blog:{}}},91442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},53438:(e,t,n)=>{"use strict";n.d(t,{MN:()=>C,Wl:()=>h,_F:()=>y,cE:()=>p,hI:()=>S,jA:()=>g,lO:()=>w,oz:()=>E,s1:()=>k,vY:()=>_,xz:()=>m});var r=n(67855),a=n(67294),o=n(16550),i=n(18790),s=n(80143),c=n(60373),l=n(74477),u=n(1116),d=n(67392),f=n(48596),p=!!s._r;function m(e){var t=(0,l.E)();if(e){var n=t.docs[e];if(!n)throw new Error("no version doc found by id="+e);return n}}function h(e){if(e.href)return e.href;for(var t,n=(0,r.Z)(e.items);!(t=n()).done;){var a=t.value;if("link"===a.type)return a.href;if("category"===a.type){var o=h(a);if(o)return o}}}function g(){var e=(0,o.TH)().pathname,t=(0,u.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");var n=x({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(e+" is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.");return n}var b=function(e,t){return void 0!==e&&(0,f.Mg)(e,t)},v=function(e,t){return e.some((function(e){return y(e,t)}))};function y(e,t){return"link"===e.type?b(e.href,t):"category"===e.type&&(b(e.href,t)||v(e.items,t))}function x(e){var t=e.sidebarItems,n=e.pathname,a=e.onlyCategories,o=void 0!==a&&a,i=[];return function e(t){for(var a,s=(0,r.Z)(t);!(a=s()).done;){var c=a.value;if("category"===c.type&&((0,f.Mg)(c.href,n)||e(c.items))||"link"===c.type&&(0,f.Mg)(c.href,n))return o&&"category"!==c.type||i.unshift(c),!0}return!1}(t),i}function k(){var e,t=(0,u.V)(),n=(0,o.TH)().pathname;return!1!==(null==(e=(0,s.gA)())?void 0:e.pluginData.breadcrumbs)&&t?x({sidebarItems:t.items,pathname:n}):null}function w(e){var t=(0,s.Iw)(e).activeVersion,n=(0,c.J)(e).preferredVersion,r=(0,s.yW)(e);return(0,a.useMemo)((function(){return(0,d.j)([t,n,r].filter(Boolean))}),[t,n,r])}function E(e,t){var n=w(t);return(0,a.useMemo)((function(){var t=n.flatMap((function(e){return e.sidebars?Object.entries(e.sidebars):[]})),r=t.find((function(t){return t[0]===e}));if(!r)throw new Error("Can't find any sidebar with id \""+e+'" in version'+(n.length>1?"s":"")+" "+n.map((function(e){return e.name})).join(", ")+'".\nAvailable sidebar ids are:\n- '+t.map((function(e){return e[0]})).join("\n- "));return r[1]}),[e,n])}function _(e,t){var n=w(t);return(0,a.useMemo)((function(){var t=n.flatMap((function(e){return e.docs})),r=t.find((function(t){return t.id===e}));if(!r){if(n.flatMap((function(e){return e.draftIds})).includes(e))return null;throw new Error("Couldn't find any doc with id \""+e+'" in version'+(n.length>1?"s":"")+' "'+n.map((function(e){return e.name})).join(", ")+'".\nAvailable doc ids are:\n- '+(0,d.j)(t.map((function(e){return e.id}))).join("\n- "))}return r}),[e,n])}function S(e){var t=e.route,n=e.versionMetadata,r=(0,o.TH)(),a=t.routes,s=a.find((function(e){return(0,o.LX)(r.pathname,e)}));if(!s)return null;var c=s.sidebar,l=c?n.docsSidebars[c]:void 0;return{docElement:(0,i.H)(a),sidebarName:c,sidebarItems:l}}function C(e){return e.filter((function(e){return"category"!==e.type||!!h(e)}))}},82128:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(52263);function a(e){var t=(0,r.Z)().siteConfig,n=t.title,a=t.titleDelimiter;return null!=e&&e.trim().length?e.trim()+" "+a+" "+n:n}},91980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>l,Rb:()=>s,_X:()=>c});var r=n(67294),a=n(16550),o=n(61688),i=n(69688);function s(e){!function(e){var t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((function(){return t.block((function(e,t){return n(e,t)}))}),[t,n])}((function(t,n){if("POP"===n)return e(t,n)}))}function c(e){return t=function(t){return null===e?null:new URLSearchParams(t.location.search).get(e)},n=(0,a.k6)(),(0,o.useSyncExternalStore)(n.listen,(function(){return t(n)}),(function(){return t(n)}));var t,n}function l(e){var t,n,o=null!=(t=c(e))?t:"",i=(n=(0,a.k6)(),(0,r.useCallback)((function(e,t,r){var a=new URLSearchParams(n.location.search);t?a.set(e,t):a.delete(e),(null!=r&&r.push?n.push:n.replace)({search:a.toString()})}),[n]));return[o,(0,r.useCallback)((function(t,n){i(e,t,n)}),[i,e])]}},67392:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=function(e,t){return e===t}),e.filter((function(n,r){return e.findIndex((function(e){return t(e,n)}))!==r}))}function a(e){return Array.from(new Set(e))}n.d(t,{j:()=>a,l:()=>r})},10833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>u,VC:()=>p});var r=n(67294),a=n(86010),o=n(35742),i=n(30226);function s(){var e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(44996),l=n(82128);function u(e){var t=e.title,n=e.description,a=e.keywords,i=e.image,s=e.children,u=(0,l.p)(t),d=(0,c.C)().withBaseUrl,f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}var d=r.createContext(void 0);function f(e){var t=e.className,n=e.children,i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){var t=e.children,n=s(),o="plugin-"+n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,""),i="plugin-id-"+n.plugin.id;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},69688:(e,t,n)=>{"use strict";n.d(t,{i6:()=>p,Qc:()=>h,zX:()=>d,D9:()=>f,Ql:()=>m});var r=n(87099),a=n(94578);function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var i=n(89611);function s(e,t,n){return s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&(0,i.Z)(a,n.prototype),a},s.apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return c=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return s(e,arguments,o(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,i.Z)(r,e)},c(e)}var l=n(67294),u=n(10412).Z.canUseDOM?l.useLayoutEffect:l.useEffect;function d(e){var t=(0,l.useRef)(e);return u((function(){t.current=e}),[e]),(0,l.useCallback)((function(){return t.current.apply(t,arguments)}),[])}function f(e){var t=(0,l.useRef)();return u((function(){t.current=e})),t.current}var p=function(e){function t(t,n){var a,o,i,s,c;return(c=e.call(this)||this).name="ReactContextError",c.message="Hook "+(null!=(a=null==(o=c.stack)||null==(i=o.split("\n")[1])||null==(s=i.match((0,r.Z)(/at (?:\w+\.)?(\w+)/,{name:1})))?void 0:s.groups.name)?a:"")+" is called outside the <"+t+">. "+(null!=n?n:""),c}return(0,a.Z)(t,e),t}(c(Error));function m(e){var t=Object.entries(e);return t.sort((function(e,t){return e[0].localeCompare(t[0])})),(0,l.useMemo)((function(){return e}),t.flat())}function h(e){return function(t){var n=t.children;return l.createElement(l.Fragment,null,e.reduceRight((function(e,t){return l.createElement(t,null,e)}),n))}}},98022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(67294),a=n(69204),o=n(52263);function i(e,t){var n=function(e){var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return n(e)===n(t)}function s(){var e=(0,o.Z)().siteConfig.baseUrl;return(0,r.useMemo)((function(){return function(e){var t=e.baseUrl;function n(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0!==t.length)return t.find(n)||e(t.filter(r).flatMap((function(e){var t;return null!=(t=e.routes)?t:[]})))}(e.routes)}({routes:a.Z,baseUrl:e})}),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>c,RF:()=>d,o5:()=>f});var r=n(67294),a=n(10412),o=n(72389),i=n(69688);var s=r.createContext(void 0);function c(e){var t,n=e.children,a=(t=(0,r.useRef)(!0),(0,r.useMemo)((function(){return{scrollEventsEnabledRef:t,enableScrollEvents:function(){t.current=!0},disableScrollEvents:function(){t.current=!1}}}),[]));return r.createElement(s.Provider,{value:a},n)}function l(){var e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}var u=function(){return a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null};function d(e,t){void 0===t&&(t=[]);var n=l().scrollEventsEnabledRef,a=(0,r.useRef)(u()),o=(0,i.zX)(e);(0,r.useEffect)((function(){var e=function(){if(n.current){var e=u();o(e,a.current),a.current=e}},t={passive:!0};return e(),window.addEventListener("scroll",e,t),function(){return window.removeEventListener("scroll",e,t)}}),[o,n].concat(t))}function f(){var e,t,n,a=l(),o=(e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((function(t){e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((function(){var t=e.current,n=t.elem,r=t.top;if(!n)return{restored:!1};var a=n.getBoundingClientRect().top-r;return a&&window.scrollBy({left:0,top:a}),e.current={elem:null,top:0},{restored:0!==a}}),[]),(0,r.useMemo)((function(){return{save:t,restore:n}}),[n,t])),i=(0,r.useRef)(void 0),s=(0,r.useCallback)((function(e){o.save(e),a.disableScrollEvents(),i.current=function(){var e=o.restore().restored;if(i.current=void 0,e){window.addEventListener("scroll",(function e(){a.enableScrollEvents(),window.removeEventListener("scroll",e)}))}else a.enableScrollEvents()}}),[a,o]);return(0,r.useLayoutEffect)((function(){queueMicrotask((function(){return null==i.current?void 0:i.current()}))})),{blockElementScrollPositionUntilNextRender:s}}function p(){var e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:function(n){e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),function(){}}(n):function(e){var t=null,n=document.documentElement.scrollTop>e;return function r(){var a=document.documentElement.scrollTop;(n&&a>e||!n&&a{"use strict";n.d(t,{HX:()=>i,_q:()=>c,os:()=>s});var r=n(80143),a=n(52263),o=n(60373),i="default";function s(e,t){return"docs-"+e+"-"+t}function c(){var e=(0,a.Z)().i18n,t=(0,r._r)(),n=(0,r.WS)(),c=(0,o.Oh)();var l=[i].concat(Object.keys(t).map((function(e){var r,a=(null==n?void 0:n.activePlugin.pluginId)===e?n.activeVersion:void 0,o=c[e],i=t[e].versions.find((function(e){return e.isLast}));return s(e,(null!=(r=null!=a?a:o)?r:i).name)})));return{locale:e.currentLocale,tags:l}}},50012:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>u});var r=n(67294),a=n(61688),o="localStorage";function i(e){var t=e.key,n=e.oldValue,r=e.newValue,a=e.storage;if(n!==r){var o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}}function s(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,c||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),c=!0),null}var t}var c=!1;var l={get:function(){return null},set:function(){},del:function(){},listen:function(){return function(){}}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error('Illegal storage API usage for storage key "'+e+'".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.')}return{get:t,set:t,del:t,listen:t}}(e);var n=s(null==t?void 0:t.persistence);return null===n?l:{get:function(){try{return n.getItem(e)}catch(t){return console.error("Docusaurus storage error, can't get key="+e,t),null}},set:function(t){try{var r=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:r,newValue:t,storage:n})}catch(a){console.error("Docusaurus storage error, can't set "+e+"="+t,a)}},del:function(){try{var t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(r){console.error("Docusaurus storage error, can't delete key="+e,r)}},listen:function(t){try{var r=function(r){r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),function(){return window.removeEventListener("storage",r)}}catch(a){return console.error("Docusaurus storage error, can't listen for changes of key="+e,a),function(){}}}}}function d(e,t){var n=(0,r.useRef)((function(){return null===e?l:u(e,t)})).current(),o=(0,r.useCallback)((function(e){return"undefined"==typeof window?function(){}:n.listen(e)}),[n]);return[(0,a.useSyncExternalStore)(o,(function(){return"undefined"==typeof window?null:n.get()}),(function(){return null})),n]}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(52263),a=n(16550),o=n(18780);function i(){var e=(0,r.Z)(),t=e.siteConfig,n=t.baseUrl,i=t.url,s=t.trailingSlash,c=e.i18n,l=c.defaultLocale,u=c.currentLocale,d=(0,a.TH)().pathname,f=(0,o.applyTrailingSlash)(d,{trailingSlash:s,baseUrl:n}),p=u===l?n:n.replace("/"+u+"/","/"),m=f.replace(n,"");return{createUrl:function(e){var t=e.locale;return""+(e.fullyQualified?i:"")+function(e){return e===l?""+p:""+p+e+"/"}(t)+m}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(67294),a=n(16550),o=n(69688);function i(e){var t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((function(){n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){return(0,r.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){return(0,r.Z)().siteConfig.themeConfig}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(67294),a=n(98022),o=n(44996),i=n(6278);function s(){var e=(0,o.C)().withBaseUrl,t=(0,i.L)().algolia,n=t.externalUrlRegex,s=t.replaceSearchResultPathname;return(0,r.useCallback)((function(t){var r=new URL(t);if((0,a.F)(n,r.href))return t;var o=""+(r.pathname+r.hash);return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(o,s))}),[e,n,s])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=t.trailingSlash,r=t.baseUrl;if(e.startsWith("#"))return e;if(void 0===n)return e;var a,o=e.split(/[#?]/)[0],i="/"===o||o===r?o:(a=o,n?function(e){return e.endsWith("/")?e:e+"/"}(a):function(e){return e.endsWith("/")?e.slice(0,-1):e}(a));return e.replace(o,i)}},54143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t].concat(e(t.cause)):[t]}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},69204:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(67294),a=n(87462),o=n(68356),i=n.n(o),s=n(85345);const c={"04a995e6":[function(){return n.e(785).then(n.t.bind(n,76886,19))},"~docs/default/category-docs-docs-category-advanced-guides-for-staking-dcd.json",76886],"0a3f0c9b":[function(){return n.e(7837).then(n.bind(n,83388))},"@site/../docs/general/ledger.md",83388],"0c06bca3":[function(){return n.e(601).then(n.bind(n,52812))},"@site/../docs/maintain/maintain-guides-how-to-join-council.md",52812],"0c68fb82":[function(){return n.e(5526).then(n.bind(n,81424))},"@site/../docs/general/kusama/kusama-claims.md",81424],"0cb62240":[function(){return n.e(1979).then(n.t.bind(n,74518,19))},"~docs/default/category-docs-docs-category-fundamentals-60b.json",74518],"0df78d26":[function(){return n.e(1723).then(n.bind(n,13449))},"@site/../docs/maintain/maintain-guides-secure-validator.md",13449],"12331e8b":[function(){return n.e(8270).then(n.bind(n,67881))},"@site/../docs/general/polkadotjs.md",67881],"131c7f55":[function(){return n.e(9323).then(n.bind(n,93928))},"@site/../docs/learn/learn-architecture.md",93928],"13b7bafa":[function(){return Promise.all([n.e(2859),n.e(9447),n.e(6585)]).then(n.bind(n,83881))},"@site/../docs/learn/learn-auction.md",83881],"145746f5":[function(){return Promise.all([n.e(2859),n.e(691)]).then(n.bind(n,1735))},"@site/../docs/maintain/maintain-polkadot-parameters.md",1735],"14eb3368":[function(){return Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,34228))},"@theme/DocCategoryGeneratedIndexPage",34228],15985664:[function(){return n.e(7830).then(n.bind(n,43394))},"@site/../docs/learn/xcm/journey/summary.md",43394],"1646726c":[function(){return Promise.all([n.e(2859),n.e(2169)]).then(n.bind(n,78381))},"@site/../docs/learn/learn-staking.md",78381],17896441:[function(){return Promise.all([n.e(532),n.e(7918)]).then(n.bind(n,81026))},"@theme/DocItem",81026],"1882e65d":[function(){return n.e(5492).then(n.t.bind(n,77274,19))},"/home/runner/work/polkadot-wiki/polkadot-wiki/polkadot-wiki/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",77274],"19ed4d4c":[function(){return n.e(4355).then(n.bind(n,51191))},"@site/../docs/learn/learn-comparisons-cosmos.md",51191],"1a4e3797":[function(){return Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,56675))},"@theme/SearchPage",56675],"1ae2b102":[function(){return Promise.all([n.e(2859),n.e(4537)]).then(n.bind(n,1799))},"@site/../docs/build/build-protocol-info.md",1799],"1be78505":[function(){return Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,19963))},"@theme/DocPage",19963],"1d6d4797":[function(){return n.e(12).then(n.bind(n,35290))},"@site/../docs/learn/xcm/journey/transact.md",35290],"1dc05242":[function(){return n.e(4696).then(n.t.bind(n,14820,19))},"~docs/default/category-docs-docs-category-nfts-9fb.json",14820],"1e15616a":[function(){return n.e(9802).then(n.bind(n,39420))},"@site/../docs/learn/learn-wasm.md",39420],"1ed3671a":[function(){return n.e(1953).then(n.bind(n,63092))},"@site/../docs/learn/xcm/journey/trap-and-claim.md",63092],"21877fa5":[function(){return Promise.all([n.e(2859),n.e(2117)]).then(n.bind(n,4381))},"@site/../docs/learn/learn-system-chains.md",4381],"21899dd2":[function(){return n.e(3599).then(n.bind(n,2741))},"@site/../docs/learn/learn-parachains.md",2741],"23498fd5":[function(){return n.e(810).then(n.bind(n,7551))},"@site/../docs/build/build-integrate-assets.md",7551],"25f2bd2a":[function(){return n.e(1213).then(n.bind(n,16769))},"@site/../docs/maintain/maintain-guides-how-to-stop-validating.md",16769],"279fb1d6":[function(){return Promise.all([n.e(2859),n.e(6827)]).then(n.bind(n,81807))},"@site/../docs/general/kusama/kusama-getting-started.md",81807],"295fff6c":[function(){return n.e(4543).then(n.t.bind(n,15619,19))},"~docs/default/category-docs-docs-category-advanced-guides-69d.json",15619],"29a046f3":[function(){return n.e(6918).then(n.t.bind(n,59904,19))},"~docs/default/category-docs-docs-category-polkadot-comparisons-3b4.json",59904],"2be0d940":[function(){return n.e(2914).then(n.bind(n,77078))},"@site/../docs/learn/learn-guides-identity.md",77078],"2d429218":[function(){return n.e(502).then(n.bind(n,20925))},"@site/../docs/learn/learn-consensus.md",20925],"2ea50c63":[function(){return n.e(2949).then(n.bind(n,84941))},"@site/../docs/learn/learn-xcm-usecases.md",84941],"2f3b630e":[function(){return Promise.all([n.e(2859),n.e(9226)]).then(n.bind(n,42569))},"@site/../docs/learn/learn-polkadot-opengov.md",42569],"30d868e8":[function(){return n.e(8215).then(n.t.bind(n,8578,19))},"~docs/default/category-docs-docs-category-multilocation-8c6.json",8578],"31bd35e0":[function(){return n.e(5281).then(n.bind(n,35660))},"@site/../docs/learn/xcm/overview/summary.md",35660],"31c99aa1":[function(){return n.e(8876).then(n.t.bind(n,45497,19))},"~docs/default/category-docs-docs-category-references-a4f.json",45497],"320c8a05":[function(){return n.e(5005).then(n.bind(n,76184))},"@site/../docs/maintain/maintain-networks.md",76184],"32c9742a":[function(){return n.e(9626).then(n.bind(n,84639))},"@site/../docs/learn/xcm/fundamentals/summary.md",84639],"32dac8d4":[function(){return n.e(3347).then(n.t.bind(n,76432,19))},"~docs/default/category-docs-docs-category-programmes-ab0.json",76432],"32e8da05":[function(){return Promise.all([n.e(2859),n.e(6140)]).then(n.bind(n,65779))},"@site/../docs/learn/learn-crowdloans.md",65779],"33b0bcab":[function(){return n.e(1585).then(n.bind(n,27281))},"@site/../docs/learn/xcm/reference/xcvm-registers.md",27281],"33bbe353":[function(){return n.e(7908).then(n.bind(n,46437))},"@site/../docs/maintain/kusama/maintain-guides-society-kusama.md",46437],"3497b7c6":[function(){return n.e(3332).then(n.t.bind(n,73834,19))},"~docs/default/category-docs-docs-category-quickstart-1e9.json",73834],"3829cf1d":[function(){return n.e(537).then(n.bind(n,77778))},"@site/../docs/maintain/maintain-guides-validator-community.md",77778],"386099fc":[function(){return Promise.all([n.e(2859),n.e(8139)]).then(n.bind(n,60283))},"@site/../docs/learn/learn-polkadot-opengov-treasury.md",60283],"386bfe51":[function(){return n.e(657).then(n.bind(n,35810))},"@site/../docs/general/contributing.md",35810],"3bd77df4":[function(){return n.e(8831).then(n.bind(n,94752))},"@site/../docs/learn/learn-bridges.md",94752],"3e56470e":[function(){return n.e(4541).then(n.bind(n,80432))},"@site/../docs/maintain/maintain-wss.md",80432],"408829bd":[function(){return n.e(6).then(n.bind(n,11982))},"@site/../docs/learn/learn-transaction-fees.md",11982],"41871d53":[function(){return n.e(7778).then(n.t.bind(n,69713,19))},"/home/runner/work/polkadot-wiki/polkadot-wiki/polkadot-wiki/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",69713],"41b7b3e8":[function(){return Promise.all([n.e(2859),n.e(3513)]).then(n.bind(n,84358))},"@site/../docs/learn/learn-staking-advanced.md",84358],"43cda9e8":[function(){return n.e(6357).then(n.bind(n,96736))},"@site/../docs/learn/learn-guides-assets-ledger.md",96736],"43ee4f22":[function(){return Promise.all([n.e(532),n.e(4672)]).then(n.bind(n,24567))},"@site/../docs/build/build-guide.md",24567],"452ad91d":[function(){return n.e(6255).then(n.bind(n,94100))},"@site/../docs/learn/xcm/overview/intro.md",94100],"4642ab5c":[function(){return n.e(6946).then(n.bind(n,75925))},"@site/../docs/learn/learn-cryptography.md",75925],"48074a08":[function(){return n.e(1825).then(n.t.bind(n,64515,19))},"~docs/default/category-docs-docs-category-advanced-concepts-637.json",64515],"482bfb5c":[function(){return n.e(9993).then(n.t.bind(n,59085,19))},"~docs/default/category-docs-docs-category-dashboards-ddd.json",59085],"48d75399":[function(){return Promise.all([n.e(2859),n.e(4620)]).then(n.bind(n,17384))},"@site/../docs/general/faq.md",17384],"493c7fdf":[function(){return Promise.all([n.e(2859),n.e(2354)]).then(n.bind(n,22703))},"@site/../docs/general/glossary.md",22703],49816380:[function(){return n.e(6482).then(n.t.bind(n,13302,19))},"~docs/default/category-docs-docs-category-polkadot-vision-2bc.json",13302],"4a8eb552":[function(){return Promise.all([n.e(2859),n.e(7202)]).then(n.bind(n,87149))},"@site/../docs/learn/learn-comparisons-kusama.md",87149],"4d76887f":[function(){return n.e(1415).then(n.bind(n,77799))},"@site/../docs/build/build-hackathon.md",77799],"4d9b9869":[function(){return n.e(4445).then(n.bind(n,56136))},"@site/../docs/learn/learn-parachains-protocol.md",56136],"4dff184a":[function(){return Promise.all([n.e(2859),n.e(6495),n.e(1481)]).then(n.bind(n,32323))},"@site/../docs/maintain/maintain-guides-polkadot-opengov.md",32323],"4f031749":[function(){return Promise.all([n.e(2859),n.e(2008)]).then(n.bind(n,44002))},"@site/../docs/learn/learn-guides-staking-pools.md",44002],"5136ee31":[function(){return n.e(1446).then(n.bind(n,57904))},"@site/../docs/learn/xcm/journey/expects.md",57904],"51fbc2c9":[function(){return n.e(9806).then(n.bind(n,68114))},"@site/../docs/learn/learn-comparisons.md",68114],"54338ffb":[function(){return Promise.all([n.e(2859),n.e(4634)]).then(n.bind(n,97765))},"@site/../docs/learn/learn-account-multisig.md",97765],"543610b9":[function(){return n.e(7022).then(n.t.bind(n,50491,19))},"~docs/default/category-docs-docs-category-community-contributors-548.json",50491],"591eca19":[function(){return n.e(7714).then(n.bind(n,32876))},"@site/../docs/general/polkadot-direction.md",32876],"5c90fc9b":[function(){return n.e(3484).then(n.bind(n,11213))},"@site/../docs/learn/xcm/executor_config/config.md",11213],"5d69d9d4":[function(){return n.e(2884).then(n.bind(n,48470))},"@site/../docs/maintain/maintain-guides-how-to-upgrade.md",48470],"5e9f5e1a":[function(){return Promise.resolve().then(n.bind(n,8618))},"@generated/docusaurus.config",8618],"60738e36":[function(){return Promise.all([n.e(2859),n.e(9071)]).then(n.bind(n,71345))},"@site/../docs/general/metadata.md",71345],"60e73337":[function(){return n.e(6862).then(n.bind(n,71401))},"@site/../docs/maintain/maintain-guides-democracy.md",71401],"6151e7ce":[function(){return Promise.all([n.e(2859),n.e(2194)]).then(n.bind(n,8417))},"@site/../docs/general/kusama/kusama-parameters.md",8417],"64c7e1cc":[function(){return n.e(9217).then(n.bind(n,45725))},"@site/../docs/build/build-integration.md",45725],"666ba125":[function(){return n.e(6776).then(n.bind(n,39949))},"@site/../docs/learn/learn-redenomination.md",39949],"694672cd":[function(){return Promise.all([n.e(2859),n.e(8138)]).then(n.bind(n,29576))},"@site/../docs/learn/learn-guides-staking.md",29576],"694e7470":[function(){return n.e(4566).then(n.t.bind(n,6269,19))},"~docs/default/category-docs-docs-category-future-implementations-236.json",6269],"69b97ecd":[function(){return n.e(8067).then(n.bind(n,75217))},"@site/../docs/learn/learn-implementations.md",75217],"6d2ffbf3":[function(){return n.e(9315).then(n.bind(n,91599))},"@site/../docs/learn/xcm/quickstart/first-look.md",91599],"6f1a81b8":[function(){return Promise.all([n.e(2859),n.e(7288)]).then(n.bind(n,15418))},"@site/../docs/maintain/maintain-guides-how-to-chill.md",15418],"702d5d94":[function(){return n.e(4105).then(n.t.bind(n,54229,19))},"~docs/default/category-docs-docs-category-wallets-bf2.json",54229],"71ed82b9":[function(){return n.e(8648).then(n.bind(n,4401))},"@site/../docs/general/start-building.md",4401],"73c3bebc":[function(){return n.e(1211).then(n.t.bind(n,47084,19))},"~docs/default/category-docs-docs-category-stay-safe-1ef.json",47084],"74df6a22":[function(){return n.e(1299).then(n.bind(n,50223))},"@site/../docs/maintain/maintain-rpc.md",50223],"75a6958b":[function(){return n.e(3635).then(n.t.bind(n,14183,19))},"~docs/default/category-docs-docs-category-advanced-guides-for-staking-1-526.json",14183],"766a10e1":[function(){return n.e(8860).then(n.bind(n,83611))},"@site/../docs/learn/learn-comparisons-avalanche.md",83611],"77a2b809":[function(){return Promise.all([n.e(2859),n.e(8080)]).then(n.bind(n,83583))},"@site/../docs/learn/learn-balance-transfers.md",83583],"78868b16":[function(){return n.e(2754).then(n.bind(n,17134))},"@site/../docs/general/kusama/kusama-social-recovery.md",17134],"78e1e977":[function(){return n.e(1872).then(n.bind(n,3830))},"@site/../docs/learn/xcm/journey/holding-modifiers.md",3830],"79d4be33":[function(){return n.e(626).then(n.bind(n,60657))},"@site/../docs/build/build-substrate.md",60657],"7c78c461":[function(){return n.e(2507).then(n.bind(n,41962))},"@site/../docs/general/kusama/kusama-community.md",41962],"7ccc428f":[function(){return n.e(3348).then(n.t.bind(n,56705,19))},"~docs/default/category-docs-docs-category-learn-about-polkadot-534.json",56705],"7d54ab5a":[function(){return Promise.all([n.e(2859),n.e(2791)]).then(n.bind(n,77611))},"@site/../docs/maintain/kusama/maintain-guides-how-to-nominate-kusama.md",77611],"7e9389ad":[function(){return n.e(5011).then(n.t.bind(n,69074,19))},"~docs/default/category-docs-docs-category-participants-in-the-polkadot-ecosystem-e03.json",69074],"7fbac68a":[function(){return n.e(1598).then(n.bind(n,81475))},"@site/../docs/general/ambassadors.md",81475],"8167490d":[function(){return n.e(9247).then(n.bind(n,92468))},"@site/../docs/learn/learn-controller.md",92468],"824749c6":[function(){return n.e(8361).then(n.bind(n,94521))},"@site/../docs/build/build-node-interaction.md",94521],"8247eba8":[function(){return n.e(8115).then(n.bind(n,76785))},"@site/../docs/learn/xcm/journey/transfers/teleports.md",76785],"83d4859f":[function(){return n.e(8757).then(n.bind(n,25310))},"@site/../docs/learn/xcm/journey/transfers/summary.md",25310],"84f79495":[function(){return n.e(2078).then(n.bind(n,96709))},"@site/../docs/learn/learn-parathreads.md",96709],"85afe03a":[function(){return n.e(3132).then(n.bind(n,31714))},"@site/../docs/maintain/maintain-errors.md",31714],"863c4753":[function(){return n.e(2552).then(n.bind(n,15719))},"@site/../docs/learn/xcm/journey/register-modifiers.md",15719],"899aadcc":[function(){return n.e(1083).then(n.bind(n,11422))},"@site/../docs/learn/xcm/overview/architecture.md",11422],"8a8a7d05":[function(){return n.e(3262).then(n.bind(n,34204))},"@site/../docs/build/build-parachains.md",34204],"8b670b2b":[function(){return n.e(7799).then(n.bind(n,12897))},"@site/../docs/build/build-index.md",12897],"8d3a1bf8":[function(){return Promise.all([n.e(2859),n.e(2399)]).then(n.bind(n,10209))},"@site/../docs/learn/learn-inflation.md",10209],"8dd7cee0":[function(){return n.e(1486).then(n.bind(n,63349))},"@site/../docs/general/thousand-validators.md",63349],"918b38b6":[function(){return n.e(2508).then(n.bind(n,90594))},"@site/../docs/learn/learn-async-backing.md",90594],"924835c1":[function(){return n.e(9126).then(n.t.bind(n,32788,19))},"~docs/default/category-docs-docs-category-archive-519.json",32788],"935f2afb":[function(){return n.e(53).then(n.t.bind(n,22624,19))},"~docs/default/version-current-metadata-prop-751.json",22624],"9528ac88":[function(){return n.e(315).then(n.bind(n,85517))},"@site/../docs/learn/learn-xcm-transport.md",85517],"987d08ef":[function(){return n.e(1748).then(n.bind(n,11732))},"@site/../docs/build/build-smart-contracts.md",11732],"98a30fd8":[function(){return n.e(8866).then(n.bind(n,94062))},"@site/../docs/learn/xcm/fundamentals/multiasset.md",94062],"991ceaa9":[function(){return Promise.all([n.e(2859),n.e(4428)]).then(n.bind(n,35265))},"@site/../docs/maintain/maintain-guides-how-to-nominate-polkadot.md",35265],"9a101178":[function(){return n.e(2505).then(n.bind(n,42047))},"@site/../docs/build/build-ss58-registry.md",42047],"9a679a70":[function(){return n.e(8178).then(n.t.bind(n,92189,19))},"~docs/default/category-docs-docs-category-overview-c3c.json",92189],"9e2042f5":[function(){return n.e(5651).then(n.bind(n,99476))},"@site/../docs/learn/learn-collator.md",99476],"9e3f6a8a":[function(){return n.e(2758).then(n.bind(n,14865))},"@site/../docs/learn/learn-comparison-ethereum-2.md",14865],"9e6341e5":[function(){return n.e(1774).then(n.bind(n,61601))},"@site/../docs/learn/xcm/journey/transfers/reserve.md",61601],"9e76b49d":[function(){return n.e(7823).then(n.bind(n,85268))},"@site/../docs/learn/xcm/testing.md",85268],"9f319605":[function(){return n.e(63).then(n.bind(n,48442))},"@site/../docs/learn/xcm/journey/fees.md",48442],a2800a5b:[function(){return n.e(7961).then(n.bind(n,69595))},"@site/../docs/build/build-transaction-construction.md",69595],a29dc56e:[function(){return n.e(6253).then(n.bind(n,16898))},"@site/../docs/maintain/maintain-guides-how-to-monitor-your-node.md",16898],a4b71220:[function(){return n.e(9112).then(n.t.bind(n,68388,19))},"/home/runner/work/polkadot-wiki/polkadot-wiki/polkadot-wiki/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",68388],a5002e4a:[function(){return n.e(1703).then(n.bind(n,53714))},"@site/../docs/build/build-oracle.md",53714],a5b3561d:[function(){return n.e(7466).then(n.bind(n,75007))},"@site/../docs/general/kusama/kusama-coc.md",75007],a62d9768:[function(){return n.e(6277).then(n.t.bind(n,46241,19))},"~docs/default/category-docs-docs-category-advanced-guides-for-asset-hub-9aa.json",46241],a74a59a0:[function(){return Promise.all([n.e(2859),n.e(8702)]).then(n.bind(n,11300))},"@site/../docs/maintain/maintain-guides-how-to-validate-polkadot.md",11300],a7b37b86:[function(){return n.e(4507).then(n.bind(n,588))},"@site/../docs/general/scams.md",588],a7c27f4d:[function(){return n.e(4174).then(n.t.bind(n,39220,19))},"~docs/default/category-docs-docs-category-basic-concepts-about-polkadot-793.json",39220],a996ffc3:[function(){return n.e(9383).then(n.t.bind(n,58976,19))},"~docs/default/category-docs-docs-category-transactions-db3.json",58976],ab138bf8:[function(){return Promise.all([n.e(2859),n.e(8791)]).then(n.bind(n,83433))},"@site/../docs/learn/learn-proxies.md",83433],ad762f86:[function(){return Promise.all([n.e(2859),n.e(7940)]).then(n.bind(n,79569))},"@site/../docs/learn/learn-account-advanced.md",79569],af40287e:[function(){return n.e(3066).then(n.t.bind(n,48292,19))},"~docs/default/category-docs-docs-category-transfers-b84.json",48292],b0cb055f:[function(){return n.e(9905).then(n.bind(n,65959))},"@site/../docs/learn/xcm/fundamentals/xcvm.md",65959],b0cbc1d4:[function(){return Promise.all([n.e(2859),n.e(3667)]).then(n.bind(n,14374))},"@site/../docs/general/staking-dashboard.md",14374],b21dd8a7:[function(){return n.e(1494).then(n.bind(n,7788))},"@site/../docs/learn/learn-comparison-rollups.md",7788],b225a2ce:[function(){return n.e(3668).then(n.bind(n,63021))},"@site/../docs/learn/xcm/fundamentals/multilocation/summary.md",63021],b336bb09:[function(){return n.e(1592).then(n.t.bind(n,34082,19))},"~docs/default/category-docs-docs-category-accounts-c2d.json",34082],b3719d54:[function(){return n.e(5422).then(n.bind(n,64633))},"@site/../docs/general/polkadot-v1.md",64633],b38833d4:[function(){return Promise.all([n.e(2859),n.e(9062)]).then(n.bind(n,2774))},"@site/../docs/learn/learn-phragmen.md",2774],b48c599b:[function(){return n.e(8901).then(n.bind(n,99098))},"@site/../docs/general/kusama/kusama-bug-bounty.md",99098],b61f6dc7:[function(){return n.e(1372).then(n.bind(n,7678))},"@site/../docs/general/research.md",7678],b940de31:[function(){return Promise.all([n.e(2859),n.e(7633)]).then(n.bind(n,11427))},"@site/../docs/learn/learn-assets.md",11427],b9b4ec9e:[function(){return n.e(5704).then(n.bind(n,15137))},"@site/../docs/learn/xcm/reference/glossary.md",15137],bb8b1738:[function(){return Promise.all([n.e(2859),n.e(7368)]).then(n.bind(n,49175))},"@site/../docs/learn/learn-validator.md",49175],bbba852d:[function(){return n.e(6294).then(n.bind(n,33736))},"@site/../docs/general/kusama/kusama-adverserial-cheatsheet.md",33736],bd701914:[function(){return n.e(7388).then(n.bind(n,55965))},"@site/../docs/learn/learn-parachains-faq.md",55965],bea375d6:[function(){return n.e(3757).then(n.bind(n,86676))},"@site/../docs/general/grants.md",86676],c07c2447:[function(){return Promise.all([n.e(2859),n.e(7654)]).then(n.bind(n,40569))},"@site/../docs/learn/learn-guides-polkadot-opengov.md",40569],c1bbdb2a:[function(){return n.e(4916).then(n.bind(n,27122))},"@site/../docs/learn/learn-polkadot-host.md",27122],c2c6a3a6:[function(){return n.e(2712).then(n.bind(n,5812))},"@site/../docs/learn/learn-nft-projects.md",5812],c41801b5:[function(){return Promise.all([n.e(2859),n.e(5013)]).then(n.bind(n,63801))},"@site/../docs/maintain/kusama/maintain-guides-how-to-validate-kusama.md",63801],c4f5d8e4:[function(){return n.e(4195).then(n.bind(n,75844))},"@site/src/pages/index.js",75844],c662f00a:[function(){return n.e(4379).then(n.bind(n,56021))},"@site/../docs/learn/xcm/journey/queries.md",56021],c7a044bb:[function(){return n.e(217).then(n.bind(n,47223))},"@site/../docs/learn/xcm/journey/channels-and-bridges.md",47223],c7a2145e:[function(){return n.e(9478).then(n.bind(n,25690))},"@site/../docs/general/how-to-dyor.md",25690],c7c5ba1a:[function(){return Promise.all([n.e(2859),n.e(6104)]).then(n.bind(n,63706))},"@site/../docs/learn/learn-accounts.md",63706],c91a9c06:[function(){return Promise.all([n.e(2859),n.e(8355)]).then(n.bind(n,48693))},"@site/../docs/learn/learn-identity.md",48693],c977dfe8:[function(){return Promise.all([n.e(2859),n.e(1506)]).then(n.bind(n,38948))},"@site/../docs/learn/learn-teleport.md",38948],ca9fe671:[function(){return n.e(6598).then(n.bind(n,37579))},"@site/../docs/learn/xcm/overview/xcvm.md",37579],cc44e8fd:[function(){return n.e(7683).then(n.bind(n,6005))},"@site/../docs/build/build-node-management.md",6005],ccc1222e:[function(){return n.e(6920).then(n.bind(n,60147))},"@site/../docs/build/build-open-source.md",60147],cd144357:[function(){return n.e(9779).then(n.t.bind(n,14423,19))},"~docs/default/category-docs-docs-category-polkadots-parachains-4b5.json",14423],cda87995:[function(){return n.e(3933).then(n.bind(n,27023))},"@site/../docs/build/build-tools-index.md",27023],ceaa29cb:[function(){return n.e(6373).then(n.bind(n,41230))},"@site/../docs/learn/xcm/journey/locks/locks.md",41230],cfd53ea4:[function(){return n.e(1090).then(n.bind(n,7007))},"@site/../docs/general/kusama/kusama-timeline.md",7007],d01f45b7:[function(){return n.e(6220).then(n.t.bind(n,73443,19))},"~docs/default/category-docs-docs-category-polkadots-xcm-416.json",73443],d27ae88d:[function(){return n.e(5157).then(n.bind(n,19994))},"@site/../docs/learn/learn-video-tutorials.md",19994],d3a753cf:[function(){return n.e(8855).then(n.bind(n,8032))},"@site/../docs/learn/xcm/fundamentals/multilocation/example.md",8032],d3db551a:[function(){return Promise.all([n.e(2859),n.e(7485)]).then(n.bind(n,67445))},"@site/../docs/learn/learn-treasury.md",67445],d569989b:[function(){return n.e(609).then(n.bind(n,17340))},"@site/../docs/general/bug-bounty.md",17340],d5909206:[function(){return n.e(3554).then(n.bind(n,43543))},"@site/../docs/learn/xcm/fundamentals/multilocation/junction.md",43543],d6a97e7e:[function(){return n.e(7858).then(n.bind(n,55984))},"@site/../docs/learn/xcm/quickstart/xcm-simulator.md",55984],d6b0148d:[function(){return n.e(5548).then(n.bind(n,7926))},"@site/../docs/learn/xcm/journey/origins.md",7926],d6d2b2d5:[function(){return Promise.all([n.e(2859),n.e(2483)]).then(n.bind(n,41973))},"@site/../docs/maintain/maintain-guides-how-to-vote-councillor.md",41973],d9ef69a7:[function(){return n.e(1786).then(n.bind(n,4245))},"@site/../docs/general/contributors.md",4245],da9f79cb:[function(){return Promise.all([n.e(2859),n.e(2248)]).then(n.bind(n,92916))},"@site/../docs/learn/learn-nomination-pools.md",92916],db039c7f:[function(){return n.e(5103).then(n.bind(n,50740))},"@site/../docs/learn/xcm/overview/format.md",50740],db0b42b0:[function(){return n.e(2609).then(n.bind(n,64271))},"@site/../docs/learn/learn-sassafras.md",64271],db3d6c4d:[function(){return n.e(7313).then(n.bind(n,1171))},"@site/../docs/learn/learn-account-abstraction.md",1171],dbbd9e76:[function(){return n.e(3669).then(n.bind(n,69156))},"@site/../docs/learn/learn-guides-vault.md",69156],dbc4065c:[function(){return n.e(6312).then(n.t.bind(n,8654,19))},"~docs/default/category-docs-docs-category-tokens-and-assets-d90.json",8654],dc776cbc:[function(){return n.e(9764).then(n.bind(n,8117))},"@site/../docs/general/thousand-contributors.md",8117],dd32e389:[function(){return n.e(2042).then(n.bind(n,63689))},"@site/../docs/general/polkadot-vault.md",63689],df154d69:[function(){return n.e(1957).then(n.bind(n,15474))},"@site/../docs/learn/learn-xcm.md",15474],e2e89062:[function(){return n.e(2633).then(n.bind(n,81843))},"@site/../docs/learn/learn-proxies-pure.md",81843],e31fc461:[function(){return n.e(3330).then(n.bind(n,60682))},"@site/../docs/learn/xcm/learn-xcm-docs-intro.md",60682],e344dd79:[function(){return n.e(9276).then(n.t.bind(n,71462,19))},"~docs/default/category-docs-docs-category-polkadots-architecture-348.json",71462],e4f3654b:[function(){return n.e(8618).then(n.bind(n,22610))},"@site/../docs/learn/learn-extrinsics.md",22610],ec3b6a32:[function(){return n.e(4004).then(n.bind(n,56794))},"@site/../docs/learn/learn-nft.md",56794],ecb495b7:[function(){return n.e(2136).then(n.bind(n,82956))},"@site/../docs/maintain/maintain-guides-how-to-systemd.md",82956],ece9fdae:[function(){return n.e(2677).then(n.bind(n,81862))},"@site/../docs/general/community.md",81862],eef3f1dd:[function(){return Promise.all([n.e(2859),n.e(4097)]).then(n.bind(n,7522))},"@site/../docs/learn/learn-guides-treasury.md",7522],f0855ff9:[function(){return n.e(4909).then(n.bind(n,9012))},"@site/../docs/general/kusama/kusama-index.md",9012],f137ce68:[function(){return Promise.all([n.e(532),n.e(3620)]).then(n.bind(n,2137))},"@site/../docs/learn/learn-xcm-instructions.md",2137],f14351c1:[function(){return n.e(3356).then(n.t.bind(n,2551,19))},"~docs/default/category-docs-docs-category-components-a98.json",2551],f1585bfb:[function(){return n.e(3665).then(n.bind(n,43507))},"@site/../docs/learn/xcm/quickstart/summary.md",43507],f189ca9f:[function(){return n.e(192).then(n.bind(n,20458))},"@site/../docs/learn/learn-spree.md",20458],f2521980:[function(){return Promise.all([n.e(2859),n.e(6689)]).then(n.bind(n,24595))},"@site/../docs/general/getting-started.md",24595],f2717f8e:[function(){return n.e(250).then(n.bind(n,96879))},"@site/../docs/general/builders-program.md",96879],f2c21b54:[function(){return n.e(4363).then(n.bind(n,3011))},"@site/../docs/build/build-storage.md",3011],f3027c84:[function(){return n.e(2242).then(n.bind(n,3361))},"@site/../docs/general/polkadotjs-ui.md",3361],f359a251:[function(){return n.e(1239).then(n.bind(n,15759))},"@site/../docs/maintain/maintain-endpoints.md",15759],f3bde756:[function(){return n.e(2704).then(n.bind(n,84741))},"@site/../docs/maintain/maintain-bootnode.md",84741],f4003c83:[function(){return Promise.all([n.e(2859),n.e(4476)]).then(n.bind(n,19084))},"@site/../docs/learn/learn-governance.md",19084],f4130007:[function(){return n.e(2665).then(n.bind(n,86975))},"@site/../docs/general/wallets-and-extensions.md",86975],f41c4e9d:[function(){return n.e(4666).then(n.bind(n,32036))},"@site/../docs/learn/learn-xcm-pallet.md",32036],f4200fe5:[function(){return Promise.all([n.e(532),n.e(2909)]).then(n.bind(n,31101))},"@site/../docs/maintain/maintain-sync.md",31101],f44ed8f8:[function(){return n.e(7211).then(n.bind(n,71294))},"@site/../docs/build/build-hrmp-channels.md",71294],f47489cd:[function(){return n.e(1966).then(n.bind(n,11611))},"@site/../docs/learn/learn-runtime-upgrades.md",11611],f4fb6e9c:[function(){return n.e(1).then(n.t.bind(n,40132,19))},"~docs/default/category-docs-docs-category-a-journey-through-xcm-9f8.json",40132],f7191335:[function(){return n.e(1686).then(n.t.bind(n,1691,19))},"~docs/default/category-docs-docs-category-general-cbc.json",1691],f750c690:[function(){return n.e(1419).then(n.bind(n,91251))},"@site/../docs/learn/learn-nft-pallets.md",91251],f7acb151:[function(){return Promise.all([n.e(2859),n.e(5483)]).then(n.bind(n,49736))},"@site/../docs/learn/learn-guides-assets-create.md",49736],f90fa732:[function(){return n.e(1062).then(n.bind(n,71358))},"@site/../docs/build/build-data.md",71358],f95cee6f:[function(){return n.e(9548).then(n.bind(n,24195))},"@site/../docs/maintain/maintain-guides-best-practices-to-avoid-slashes.md",24195],fa343ad1:[function(){return n.e(1678).then(n.bind(n,42352))},"@site/../docs/learn/xcm/fundamentals/weight_and_fees.md",42352],fabebe44:[function(){return n.e(1288).then(n.bind(n,38993))},"@site/../docs/general/dev-heroes.md",38993],fac80962:[function(){return n.e(3944).then(n.bind(n,96238))},"@site/../docs/learn/learn-account-generation.md",96238],fbea1897:[function(){return n.e(7280).then(n.bind(n,56025))},"@site/../docs/learn/learn-launch.md",56025],fbf58567:[function(){return n.e(5989).then(n.t.bind(n,46599,19))},"~docs/default/category-docs-docs-category-xcm-documentation-30c.json",46599],fea93377:[function(){return Promise.all([n.e(2859),n.e(6730)]).then(n.bind(n,26029))},"@site/../docs/maintain/maintain-guides-validator-payout.md",26029],fecdcc34:[function(){return n.e(8034).then(n.bind(n,26269))},"@site/../docs/learn/xcm/journey/version.md",26269],feea648c:[function(){return n.e(7061).then(n.bind(n,39966))},"@site/../docs/learn/learn-xcvm.md",39966],ff6596ea:[function(){return Promise.all([n.e(2859),n.e(3842)]).then(n.bind(n,25398))},"@site/../docs/learn/learn-nominator.md",25398],ffd76171:[function(){return n.e(8236).then(n.bind(n,88559))},"@site/../docs/maintain/maintain-index.md",88559],ffe9c3c9:[function(){return n.e(1529).then(n.bind(n,64204))},"@site/../docs/learn/learn-DOT.md",64204]};function l(e){var t=e.error,n=e.retry,a=e.pastDelay;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(99670),d=n(30226);function f(e,t){if("*"===e)return i()({loading:l,loader:function(){return n.e(4972).then(n.bind(n,4972))},modules:["@theme/NotFound"],webpack:function(){return[4972]},render:function(e,t){var n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});var o=s[e+"-"+t],f={},p=[],m=[],h=(0,u.Z)(o);return Object.entries(h).forEach((function(e){var t=e[0],n=e[1],r=c[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:l,loader:f,modules:p,webpack:function(){return m},render:function(t,n){var i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((function(t){var n=t[0],r=t[1],a=r.default;if(!a)throw new Error("The page component at "+e+" doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.");"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((function(e){return"default"!==e})).forEach((function(e){a[e]=r[e]}));var o=i,s=n.split(".");s.slice(0,-1).forEach((function(e){o=o[e]})),o[s[s.length-1]]=a}));var s=i.__comp;delete i.__comp;var c=i.__context;return delete i.__context,r.createElement(d.z,{value:c},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/search",component:f("/search","740"),exact:!0},{path:"/docs",component:f("/docs","01e"),routes:[{path:"/docs/ambassadors",component:f("/docs/ambassadors","afd"),exact:!0,sidebar:"docs"},{path:"/docs/bug-bounty",component:f("/docs/bug-bounty","bab"),exact:!0,sidebar:"docs"},{path:"/docs/build-data",component:f("/docs/build-data","c63"),exact:!0,sidebar:"docs"},{path:"/docs/build-guide",component:f("/docs/build-guide","4c0"),exact:!0,sidebar:"docs"},{path:"/docs/build-hackathon",component:f("/docs/build-hackathon","170"),exact:!0,sidebar:"docs"},{path:"/docs/build-hrmp-channels",component:f("/docs/build-hrmp-channels","9d7"),exact:!0,sidebar:"docs"},{path:"/docs/build-index",component:f("/docs/build-index","a82"),exact:!0,sidebar:"docs"},{path:"/docs/build-integrate-assets",component:f("/docs/build-integrate-assets","521"),exact:!0,sidebar:"docs"},{path:"/docs/build-integration",component:f("/docs/build-integration","0e9"),exact:!0,sidebar:"docs"},{path:"/docs/build-node-interaction",component:f("/docs/build-node-interaction","26d"),exact:!0,sidebar:"docs"},{path:"/docs/build-node-management",component:f("/docs/build-node-management","033"),exact:!0,sidebar:"docs"},{path:"/docs/build-open-source",component:f("/docs/build-open-source","d93"),exact:!0,sidebar:"docs"},{path:"/docs/build-oracle",component:f("/docs/build-oracle","66f"),exact:!0,sidebar:"docs"},{path:"/docs/build-pdk",component:f("/docs/build-pdk","841"),exact:!0,sidebar:"docs"},{path:"/docs/build-protocol-info",component:f("/docs/build-protocol-info","d4a"),exact:!0,sidebar:"docs"},{path:"/docs/build-smart-contracts",component:f("/docs/build-smart-contracts","4b8"),exact:!0,sidebar:"docs"},{path:"/docs/build-ss58-registry",component:f("/docs/build-ss58-registry","62f"),exact:!0,sidebar:"docs"},{path:"/docs/build-storage",component:f("/docs/build-storage","47b"),exact:!0,sidebar:"docs"},{path:"/docs/build-substrate",component:f("/docs/build-substrate","206"),exact:!0,sidebar:"docs"},{path:"/docs/build-tools-index",component:f("/docs/build-tools-index","410"),exact:!0,sidebar:"docs"},{path:"/docs/build-transaction-construction",component:f("/docs/build-transaction-construction","d68"),exact:!0,sidebar:"docs"},{path:"/docs/builders-program",component:f("/docs/builders-program","41f"),exact:!0,sidebar:"docs"},{path:"/docs/community",component:f("/docs/community","b89"),exact:!0,sidebar:"docs"},{path:"/docs/community-index",component:f("/docs/community-index","c5c"),exact:!0,sidebar:"docs"},{path:"/docs/contributing",component:f("/docs/contributing","677"),exact:!0,sidebar:"docs"},{path:"/docs/contributors",component:f("/docs/contributors","1e6"),exact:!0,sidebar:"docs"},{path:"/docs/dashboards-index",component:f("/docs/dashboards-index","d3f"),exact:!0,sidebar:"docs"},{path:"/docs/dev-heroes",component:f("/docs/dev-heroes","4e8"),exact:!0,sidebar:"docs"},{path:"/docs/faq",component:f("/docs/faq","e21"),exact:!0,sidebar:"docs"},{path:"/docs/general-index",component:f("/docs/general-index","84d"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started",component:f("/docs/getting-started","6f8"),exact:!0,sidebar:"docs"},{path:"/docs/glossary",component:f("/docs/glossary","5f2"),exact:!0,sidebar:"docs"},{path:"/docs/grants",component:f("/docs/grants","240"),exact:!0,sidebar:"docs"},{path:"/docs/how-to-dyor",component:f("/docs/how-to-dyor","3d9"),exact:!0,sidebar:"docs"},{path:"/docs/kusama-adversarial-cheatsheet",component:f("/docs/kusama-adversarial-cheatsheet","ff3"),exact:!0},{path:"/docs/kusama-bug-bounty",component:f("/docs/kusama-bug-bounty","c07"),exact:!0},{path:"/docs/kusama-claims",component:f("/docs/kusama-claims","b28"),exact:!0},{path:"/docs/kusama-coc",component:f("/docs/kusama-coc","302"),exact:!0},{path:"/docs/kusama-community",component:f("/docs/kusama-community","c98"),exact:!0},{path:"/docs/kusama-getting-started",component:f("/docs/kusama-getting-started","bd7"),exact:!0},{path:"/docs/kusama-index",component:f("/docs/kusama-index","eeb"),exact:!0},{path:"/docs/kusama-parameters",component:f("/docs/kusama-parameters","a62"),exact:!0},{path:"/docs/kusama-social-recovery",component:f("/docs/kusama-social-recovery","62f"),exact:!0},{path:"/docs/kusama-timeline",component:f("/docs/kusama-timeline","288"),exact:!0},{path:"/docs/learn-account-abstraction",component:f("/docs/learn-account-abstraction","962"),exact:!0,sidebar:"docs"},{path:"/docs/learn-account-advanced",component:f("/docs/learn-account-advanced","c5d"),exact:!0,sidebar:"docs"},{path:"/docs/learn-account-generation",component:f("/docs/learn-account-generation","a11"),exact:!0,sidebar:"docs"},{path:"/docs/learn-account-multisig",component:f("/docs/learn-account-multisig","f7c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-accounts",component:f("/docs/learn-accounts","9c2"),exact:!0,sidebar:"docs"},{path:"/docs/learn-accounts-index",component:f("/docs/learn-accounts-index","6b7"),exact:!0,sidebar:"docs"},{path:"/docs/learn-advanced-index",component:f("/docs/learn-advanced-index","66f"),exact:!0,sidebar:"docs"},{path:"/docs/learn-architecture",component:f("/docs/learn-architecture","fa2"),exact:!0,sidebar:"docs"},{path:"/docs/learn-architecture-index",component:f("/docs/learn-architecture-index","f6c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-archive-index",component:f("/docs/learn-archive-index","130"),exact:!0,sidebar:"docs"},{path:"/docs/learn-assets",component:f("/docs/learn-assets","71c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-assets-index",component:f("/docs/learn-assets-index","980"),exact:!0,sidebar:"docs"},{path:"/docs/learn-async-backing",component:f("/docs/learn-async-backing","8d8"),exact:!0,sidebar:"docs"},{path:"/docs/learn-auction",component:f("/docs/learn-auction","5f7"),exact:!0,sidebar:"docs"},{path:"/docs/learn-balance-transfers",component:f("/docs/learn-balance-transfers","48e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-basics-index",component:f("/docs/learn-basics-index","90b"),exact:!0,sidebar:"docs"},{path:"/docs/learn-bridges",component:f("/docs/learn-bridges","fc1"),exact:!0,sidebar:"docs"},{path:"/docs/learn-collator",component:f("/docs/learn-collator","8d9"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons",component:f("/docs/learn-comparisons","ef1"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-avalanche",component:f("/docs/learn-comparisons-avalanche","6f0"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-cosmos",component:f("/docs/learn-comparisons-cosmos","72c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-ethereum-2",component:f("/docs/learn-comparisons-ethereum-2","af0"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-index",component:f("/docs/learn-comparisons-index","3a8"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-kusama",component:f("/docs/learn-comparisons-kusama","de0"),exact:!0,sidebar:"docs"},{path:"/docs/learn-comparisons-rollups",component:f("/docs/learn-comparisons-rollups","656"),exact:!0,sidebar:"docs"},{path:"/docs/learn-components-index",component:f("/docs/learn-components-index","565"),exact:!0,sidebar:"docs"},{path:"/docs/learn-consensus",component:f("/docs/learn-consensus","c72"),exact:!0,sidebar:"docs"},{path:"/docs/learn-controller",component:f("/docs/learn-controller","e68"),exact:!0,sidebar:"docs"},{path:"/docs/learn-crowdloans",component:f("/docs/learn-crowdloans","98f"),exact:!0,sidebar:"docs"},{path:"/docs/learn-cryptography",component:f("/docs/learn-cryptography","3de"),exact:!0,sidebar:"docs"},{path:"/docs/learn-DOT",component:f("/docs/learn-DOT","913"),exact:!0,sidebar:"docs"},{path:"/docs/learn-extrinsics",component:f("/docs/learn-extrinsics","950"),exact:!0,sidebar:"docs"},{path:"/docs/learn-future-implementations-index",component:f("/docs/learn-future-implementations-index","d18"),exact:!0,sidebar:"docs"},{path:"/docs/learn-governance",component:f("/docs/learn-governance","e59"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-assets-create",component:f("/docs/learn-guides-assets-create","dd9"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-assets-index",component:f("/docs/learn-guides-assets-index","525"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-assets-ledger",component:f("/docs/learn-guides-assets-ledger","1f0"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-identity",component:f("/docs/learn-guides-identity","9f1"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-index",component:f("/docs/learn-guides-index","cb6"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-polkadot-opengov",component:f("/docs/learn-guides-polkadot-opengov","097"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-staking",component:f("/docs/learn-guides-staking","e1a"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-staking-index",component:f("/docs/learn-guides-staking-index","934"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-staking-pools",component:f("/docs/learn-guides-staking-pools","8e8"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-treasury",component:f("/docs/learn-guides-treasury","45a"),exact:!0,sidebar:"docs"},{path:"/docs/learn-guides-vault",component:f("/docs/learn-guides-vault","407"),exact:!0,sidebar:"docs"},{path:"/docs/learn-identity",component:f("/docs/learn-identity","414"),exact:!0,sidebar:"docs"},{path:"/docs/learn-implementations",component:f("/docs/learn-implementations","a5b"),exact:!0},{path:"/docs/learn-index",component:f("/docs/learn-index","706"),exact:!0,sidebar:"docs"},{path:"/docs/learn-inflation",component:f("/docs/learn-inflation","5ea"),exact:!0,sidebar:"docs"},{path:"/docs/learn-launch",component:f("/docs/learn-launch","6e9"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nft",component:f("/docs/learn-nft","4b1"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nft-index",component:f("/docs/learn-nft-index","048"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nft-pallets",component:f("/docs/learn-nft-pallets","8ea"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nft-projects",component:f("/docs/learn-nft-projects","18f"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nomination-pools",component:f("/docs/learn-nomination-pools","964"),exact:!0,sidebar:"docs"},{path:"/docs/learn-nominator",component:f("/docs/learn-nominator","5fc"),exact:!0,sidebar:"docs"},{path:"/docs/learn-parachains",component:f("/docs/learn-parachains","0d1"),exact:!0,sidebar:"docs"},{path:"/docs/learn-parachains-faq",component:f("/docs/learn-parachains-faq","eed"),exact:!0,sidebar:"docs"},{path:"/docs/learn-parachains-index",component:f("/docs/learn-parachains-index","4e5"),exact:!0,sidebar:"docs"},{path:"/docs/learn-parachains-protocol",component:f("/docs/learn-parachains-protocol","f2b"),exact:!0,sidebar:"docs"},{path:"/docs/learn-parathreads",component:f("/docs/learn-parathreads","03d"),exact:!0,sidebar:"docs"},{path:"/docs/learn-participants-index",component:f("/docs/learn-participants-index","b1a"),exact:!0,sidebar:"docs"},{path:"/docs/learn-phragmen",component:f("/docs/learn-phragmen","c5c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-polkadot-host",component:f("/docs/learn-polkadot-host","48e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-polkadot-opengov",component:f("/docs/learn-polkadot-opengov","ecc"),exact:!0,sidebar:"docs"},{path:"/docs/learn-polkadot-opengov-treasury",component:f("/docs/learn-polkadot-opengov-treasury","582"),exact:!0,sidebar:"docs"},{path:"/docs/learn-proxies",component:f("/docs/learn-proxies","92e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-proxies-pure",component:f("/docs/learn-proxies-pure","b02"),exact:!0,sidebar:"docs"},{path:"/docs/learn-redenomination",component:f("/docs/learn-redenomination","0ff"),exact:!0,sidebar:"docs"},{path:"/docs/learn-runtime-upgrades",component:f("/docs/learn-runtime-upgrades","8e7"),exact:!0,sidebar:"docs"},{path:"/docs/learn-sassafras",component:f("/docs/learn-sassafras","11d"),exact:!0,sidebar:"docs"},{path:"/docs/learn-scams",component:f("/docs/learn-scams","f1c"),exact:!0,sidebar:"docs"},{path:"/docs/learn-spree",component:f("/docs/learn-spree","14e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-staking",component:f("/docs/learn-staking","183"),exact:!0,sidebar:"docs"},{path:"/docs/learn-staking-advanced",component:f("/docs/learn-staking-advanced","089"),exact:!0,sidebar:"docs"},{path:"/docs/learn-staking-index",component:f("/docs/learn-staking-index","cfb"),exact:!0,sidebar:"docs"},{path:"/docs/learn-system-chains",component:f("/docs/learn-system-chains","29d"),exact:!0,sidebar:"docs"},{path:"/docs/learn-teleport",component:f("/docs/learn-teleport","814"),exact:!0,sidebar:"docs"},{path:"/docs/learn-transaction-fees",component:f("/docs/learn-transaction-fees","42e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-transactions-index",component:f("/docs/learn-transactions-index","a4f"),exact:!0,sidebar:"docs"},{path:"/docs/learn-treasury",component:f("/docs/learn-treasury","ba6"),exact:!0,sidebar:"docs"},{path:"/docs/learn-validator",component:f("/docs/learn-validator","cae"),exact:!0,sidebar:"docs"},{path:"/docs/learn-video-tutorials",component:f("/docs/learn-video-tutorials","a9e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-wasm",component:f("/docs/learn-wasm","16e"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm",component:f("/docs/learn-xcm","f30"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm-index",component:f("/docs/learn-xcm-index","90a"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm-instructions",component:f("/docs/learn-xcm-instructions","82b"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm-pallet",component:f("/docs/learn-xcm-pallet","c28"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm-transport",component:f("/docs/learn-xcm-transport","b2a"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcm-usecases",component:f("/docs/learn-xcm-usecases","4fd"),exact:!0,sidebar:"docs"},{path:"/docs/learn-xcvm",component:f("/docs/learn-xcvm","db4"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm",component:f("/docs/learn/xcm","b7a"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/config-deep-dive",component:f("/docs/learn/xcm/config-deep-dive","e68"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals",component:f("/docs/learn/xcm/fundamentals","e35"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals-fees",component:f("/docs/learn/xcm/fundamentals-fees","80a"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals-multiasset",component:f("/docs/learn/xcm/fundamentals-multiasset","ead"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals-summary",component:f("/docs/learn/xcm/fundamentals-summary","1e3"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals-xcvm",component:f("/docs/learn/xcm/fundamentals-xcvm","752"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals/multilocation",component:f("/docs/learn/xcm/fundamentals/multilocation","f7c"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals/multilocation-example",component:f("/docs/learn/xcm/fundamentals/multilocation-example","9c5"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals/multilocation-junctions",component:f("/docs/learn/xcm/fundamentals/multilocation-junctions","776"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/fundamentals/multilocation-summary",component:f("/docs/learn/xcm/fundamentals/multilocation-summary","6f7"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/introduction",component:f("/docs/learn/xcm/introduction","e34"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey",component:f("/docs/learn/xcm/journey","ac5"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-assets",component:f("/docs/learn/xcm/journey-assets","f26"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-channels",component:f("/docs/learn/xcm/journey-channels","ae8"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-expectations",component:f("/docs/learn/xcm/journey-expectations","a11"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-fees",component:f("/docs/learn/xcm/journey-fees","1e0"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-holding",component:f("/docs/learn/xcm/journey-holding","914"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-locks",component:f("/docs/learn/xcm/journey-locks","f94"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-origin",component:f("/docs/learn/xcm/journey-origin","4f3"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-queries",component:f("/docs/learn/xcm/journey-queries","3fb"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-register",component:f("/docs/learn/xcm/journey-register","e9c"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-summary",component:f("/docs/learn/xcm/journey-summary","2a4"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-transact",component:f("/docs/learn/xcm/journey-transact","283"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey-version",component:f("/docs/learn/xcm/journey-version","c0d"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey/transfers",component:f("/docs/learn/xcm/journey/transfers","454"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey/transfers-reserve",component:f("/docs/learn/xcm/journey/transfers-reserve","5ce"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey/transfers-summary",component:f("/docs/learn/xcm/journey/transfers-summary","e08"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/journey/transfers-teleport",component:f("/docs/learn/xcm/journey/transfers-teleport","85b"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview",component:f("/docs/learn/xcm/overview","c0f"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview-architecture",component:f("/docs/learn/xcm/overview-architecture","7ec"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview-format",component:f("/docs/learn/xcm/overview-format","d5c"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview-intro",component:f("/docs/learn/xcm/overview-intro","529"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview-summary",component:f("/docs/learn/xcm/overview-summary","ffd"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/overview-xcvm",component:f("/docs/learn/xcm/overview-xcvm","9ad"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/quickstart",component:f("/docs/learn/xcm/quickstart","c96"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/quickstart-first-look",component:f("/docs/learn/xcm/quickstart-first-look","c89"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/quickstart-simulator",component:f("/docs/learn/xcm/quickstart-simulator","d3a"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/quickstart-summary",component:f("/docs/learn/xcm/quickstart-summary","e79"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/reference-glossary",component:f("/docs/learn/xcm/reference-glossary","e83"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/reference-xcvm-registers",component:f("/docs/learn/xcm/reference-xcvm-registers","ceb"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/references",component:f("/docs/learn/xcm/references","103"),exact:!0,sidebar:"docs"},{path:"/docs/learn/xcm/testing",component:f("/docs/learn/xcm/testing","0a7"),exact:!0,sidebar:"docs"},{path:"/docs/ledger",component:f("/docs/ledger","50e"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-bootnode",component:f("/docs/maintain-bootnode","294"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-endpoints",component:f("/docs/maintain-endpoints","31b"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-errors",component:f("/docs/maintain-errors","92e"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-avoid-slashing",component:f("/docs/maintain-guides-avoid-slashing","578"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-democracy",component:f("/docs/maintain-guides-democracy","740"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-chill",component:f("/docs/maintain-guides-how-to-chill","668"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-join-council",component:f("/docs/maintain-guides-how-to-join-council","9c3"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-monitor-your-node",component:f("/docs/maintain-guides-how-to-monitor-your-node","bdd"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-nominate-kusama",component:f("/docs/maintain-guides-how-to-nominate-kusama","f8d"),exact:!0},{path:"/docs/maintain-guides-how-to-nominate-polkadot",component:f("/docs/maintain-guides-how-to-nominate-polkadot","52a"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-stop-validating",component:f("/docs/maintain-guides-how-to-stop-validating","993"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-systemd",component:f("/docs/maintain-guides-how-to-systemd","3e8"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-upgrade",component:f("/docs/maintain-guides-how-to-upgrade","f9d"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-validate-kusama",component:f("/docs/maintain-guides-how-to-validate-kusama","eb0"),exact:!0},{path:"/docs/maintain-guides-how-to-validate-polkadot",component:f("/docs/maintain-guides-how-to-validate-polkadot","e43"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-how-to-vote-councillor",component:f("/docs/maintain-guides-how-to-vote-councillor","050"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-polkadot-opengov",component:f("/docs/maintain-guides-polkadot-opengov","751"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-secure-validator",component:f("/docs/maintain-guides-secure-validator","310"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-society-kusama",component:f("/docs/maintain-guides-society-kusama","6d3"),exact:!0},{path:"/docs/maintain-guides-validator-community",component:f("/docs/maintain-guides-validator-community","18d"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-guides-validator-payout",component:f("/docs/maintain-guides-validator-payout","712"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-index",component:f("/docs/maintain-index","d6e"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-networks",component:f("/docs/maintain-networks","234"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-polkadot-parameters",component:f("/docs/maintain-polkadot-parameters","5d7"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-rpc",component:f("/docs/maintain-rpc","f10"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-sync",component:f("/docs/maintain-sync","fd0"),exact:!0,sidebar:"docs"},{path:"/docs/maintain-wss",component:f("/docs/maintain-wss","7f4"),exact:!0,sidebar:"docs"},{path:"/docs/metadata",component:f("/docs/metadata","ba9"),exact:!0,sidebar:"docs"},{path:"/docs/polkadot-direction",component:f("/docs/polkadot-direction","2f6"),exact:!0,sidebar:"docs"},{path:"/docs/polkadot-v1",component:f("/docs/polkadot-v1","770"),exact:!0,sidebar:"docs"},{path:"/docs/polkadot-vault",component:f("/docs/polkadot-vault","d52"),exact:!0,sidebar:"docs"},{path:"/docs/polkadot-vision-index",component:f("/docs/polkadot-vision-index","3c3"),exact:!0,sidebar:"docs"},{path:"/docs/polkadotjs",component:f("/docs/polkadotjs","516"),exact:!0,sidebar:"docs"},{path:"/docs/polkadotjs-ui",component:f("/docs/polkadotjs-ui","884"),exact:!0,sidebar:"docs"},{path:"/docs/programmes-index",component:f("/docs/programmes-index","233"),exact:!0,sidebar:"docs"},{path:"/docs/research",component:f("/docs/research","5f7"),exact:!0,sidebar:"docs"},{path:"/docs/staking-dashboard",component:f("/docs/staking-dashboard","a9a"),exact:!0,sidebar:"docs"},{path:"/docs/start-building",component:f("/docs/start-building","16a"),exact:!0,sidebar:"docs"},{path:"/docs/stay-safe-index",component:f("/docs/stay-safe-index","580"),exact:!0,sidebar:"docs"},{path:"/docs/thousand-contributors",component:f("/docs/thousand-contributors","9ba"),exact:!0,sidebar:"docs"},{path:"/docs/thousand-validators",component:f("/docs/thousand-validators","053"),exact:!0,sidebar:"docs"},{path:"/docs/wallets-and-extensions",component:f("/docs/wallets-and-extensions","e5f"),exact:!0,sidebar:"docs"},{path:"/docs/wallets-index",component:f("/docs/wallets-index","656"),exact:!0,sidebar:"docs"}]},{path:"/",component:f("/","7cb"),exact:!0},{path:"*",component:f("*")}]},94184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>x,q_:()=>C,ob:()=>p,PP:()=>A,Ep:()=>f});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!l)for(;d--;d)i.unshift("..");!l||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(38776);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),x.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(x.entries[x.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=x.index+e;return t>=0&&t{"use strict";var r=n(59864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=c(t),h=c(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,a,o,i,s],u=0;(c=new Error(t.replace(/%s/g,(function(){return l[u++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},32497:(e,t,n)=>{"use strict";n.r(t)},32104:(e,t,n)=>{"use strict";n.r(t)},39604:(e,t,n)=>{"use strict";n.r(t)},70378:(e,t,n)=>{"use strict";n.r(t)},74865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),l=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),c(l,i(e,u,d)),1===e?(c(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){c(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),l=document.querySelector(r.parent);return c(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function l(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);l(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);E+=w.value.length,w=w.next){var _=w.value;if(t.length>e.length)return;if(!(_ instanceof a)){var S,C=1;if(v){if(!(S=o(k,E,e,b))||S.index>=e.length)break;var T=S.index,A=S.index+S[0].length,P=E;for(P+=w.value.length;T>=P;)P+=(w=w.next).value.length;if(E=P-=w.value.length,w.value instanceof a)continue;for(var O=w;O!==t.tail&&(Pd.reach&&(d.reach=R);var j=w.prev;if(N&&(j=c(t,j,N),E+=N.length),l(t,j,C),w=c(t,j,new a(f,g?r.tokenize(L,g):L,y,L)),I&&c(t,w,I),C>1){var M={cause:f+","+m,reach:R};i(e,t,n,w.prev,E,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function l(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var c=n;c=0&&p(l,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function c(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function l(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,c(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=c(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return u[n]=a,n})).join(""),n,r),f=Object.keys(u);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var c=o.substring(0,s),d=l(u[a]),p=o.substring(s+a.length),m=[];if(c&&m.push(c),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var c=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(c=i(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",c,null,c)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var c=0;c=o.length);c++){var l=s[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof l?l:l.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof l?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&i(l.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},70767:()=>{!function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source,n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism)},54294:(e,t,n)=>{var r={"./prism-rust":70767};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=54294},92703:(e,t,n)=>{"use strict";var r=n(50414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},31555:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(94184),a=n.n(r),o=n(67294),i=n(76792),s=n(85893);const c=o.forwardRef(((e,t)=>{const[{className:n,...r},{as:o="div",bsPrefix:c,spans:l}]=function({as:e,bsPrefix:t,className:n,...r}){t=(0,i.vE)(t,"col");const o=(0,i.pi)(),s=(0,i.zG)(),c=[],l=[];return o.forEach((e=>{const n=r[e];let a,o,i;delete r[e],"object"==typeof n&&null!=n?({span:a,offset:o,order:i}=n):a=n;const u=e!==s?`-${e}`:"";a&&c.push(!0===a?`${t}${u}`:`${t}${u}-${a}`),null!=i&&l.push(`order${u}-${i}`),null!=o&&l.push(`offset${u}-${o}`)})),[{...r,className:a()(n,...c,...l)},{as:e,bsPrefix:t,spans:c}]}(e);return(0,s.jsx)(o,{...r,ref:t,className:a()(n,!l.length&&c)})}));c.displayName="Col";const l=c},10682:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(94184),a=n.n(r),o=n(67294),i=n(76792),s=n(85893);const c=o.forwardRef((({bsPrefix:e,fluid:t=!1,as:n="div",className:r,...o},c)=>{const l=(0,i.vE)(e,"container"),u="string"==typeof t?`-${t}`:"-fluid";return(0,s.jsx)(n,{ref:c,...o,className:a()(r,t?`${l}${u}`:l)})}));c.displayName="Container";const l=c},34051:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(94184),a=n.n(r),o=n(67294),i=n(76792),s=n(85893);const c=o.forwardRef((({bsPrefix:e,className:t,as:n="div",...r},o)=>{const c=(0,i.vE)(e,"row"),l=(0,i.pi)(),u=(0,i.zG)(),d=`${c}-cols`,f=[];return l.forEach((e=>{const t=r[e];let n;delete r[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const a=e!==u?`-${e}`:"";null!=n&&f.push(`${d}${a}-${n}`)})),(0,s.jsx)(n,{ref:o,...r,className:a()(t,c,...f)})}));c.displayName="Row";const l=c},76792:(e,t,n)=>{"use strict";n.d(t,{pi:()=>l,vE:()=>c,zG:()=>u});var r=n(67294);n(85893);const a=["xxl","xl","lg","md","sm","xs"],o=r.createContext({prefixes:{},breakpoints:a,minBreakpoint:"xs"}),{Consumer:i,Provider:s}=o;function c(e,t){const{prefixes:n}=(0,r.useContext)(o);return e||n[t]||t}function l(){const{breakpoints:e}=(0,r.useContext)(o);return e}function u(){const{minBreakpoint:e}=(0,r.useContext)(o);return e}},64448:(e,t,n)=>{"use strict";var r=n(67294),a=n(27418),o=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n