From 009686f0703609d0b331b081629fb13e5e7ce9fa Mon Sep 17 00:00:00 2001 From: confleux Date: Mon, 29 Jan 2024 16:08:36 +0300 Subject: [PATCH 01/32] chore: add bitcoin services --- assets/general/bitcoin/info.json | 48 ++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index be24be88..dbb364b3 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -31,12 +31,12 @@ "nodes": { "list": [ { - "url": "https://btcnode1.adamant.im", - "alt_ip": "http://176.9.38.204:44099" + "url": "https://btcnode1.adamant.im/bitcoind", + "alt_ip": "http://176.9.38.204:44099/bitcoind" }, { - "url": "https://btcnode2.adamant.im", - "alt_ip": "http://176.9.32.126:44099" + "url": "https://btcnode2.adamant.im/bitcoind", + "alt_ip": "http://176.9.32.126:44099/bitcoind" } ], "healthCheck": { @@ -46,6 +46,25 @@ "threshold": 2 } }, + "services": { + "list": { + "btcExplorer": [ + { + "url": "https://btcnode1.adamant.im", + "alt_ip": "http://176.9.38.204:44099" + }, + { + "url": "https://btcnode2.adamant.im", + "alt_ip": "http://176.9.32.126:44099" + } + ] + }, + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } + }, "links": [ { "name": "github", @@ -68,10 +87,10 @@ "nodes": { "list": [ { - "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" + "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion/bitcoind" }, { - "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" + "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion/bitcoind" } ], "healthCheck": { @@ -80,6 +99,23 @@ "onScreenUpdateInterval": 10000, "threshold": 2 } + }, + "services": { + "list": { + "btcExplorer": [ + { + "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" + }, + { + "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" + } + ] + }, + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } From 500dd34763ea0abfe9d7b3224061645a14acd5bc Mon Sep 17 00:00:00 2001 From: confleux Date: Mon, 29 Jan 2024 17:32:45 +0300 Subject: [PATCH 02/32] refactor: change btcExplorer to btcIndexer --- assets/general/bitcoin/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index dbb364b3..b419e1ce 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -48,7 +48,7 @@ }, "services": { "list": { - "btcExplorer": [ + "btcIndexer": [ { "url": "https://btcnode1.adamant.im", "alt_ip": "http://176.9.38.204:44099" @@ -102,7 +102,7 @@ }, "services": { "list": { - "btcExplorer": [ + "btcIndexer": [ { "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" }, From 9a11eb224c7377f75060d6e5f3ef425ef82ba1e9 Mon Sep 17 00:00:00 2001 From: confleux Date: Wed, 31 Jan 2024 03:58:52 +0300 Subject: [PATCH 03/32] chore: add services info description --- assets/general/bitcoin/info.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index b419e1ce..0bf1811e 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -47,6 +47,11 @@ } }, "services": { + "description": { + "software": "Esplora/Electrs", + "github": "https://github.com/blockstream/electrs", + "docs": "https://github.com/blockstream/esplora/blob/master/API.md" + }, "list": { "btcIndexer": [ { @@ -101,6 +106,11 @@ } }, "services": { + "description": { + "software": "Esplora/Electrs", + "github": "https://github.com/blockstream/electrs", + "docs": "https://github.com/blockstream/esplora/blob/master/API.md" + }, "list": { "btcIndexer": [ { From a00fdf31e1464fd434b0e7d5c25610a30229558f Mon Sep 17 00:00:00 2001 From: confleux Date: Wed, 31 Jan 2024 04:19:59 +0300 Subject: [PATCH 04/32] chore: add ethereum services --- assets/general/ethereum/info.json | 71 +++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 12 deletions(-) diff --git a/assets/general/ethereum/info.json b/assets/general/ethereum/info.json index dc853c8a..40202bd0 100644 --- a/assets/general/ethereum/info.json +++ b/assets/general/ethereum/info.json @@ -35,18 +35,15 @@ "list": [ { "url": "https://ethnode1.adamant.im", - "alt_ip": "http://95.216.41.106:44099", - "hasIndex": true + "alt_ip": "http://95.216.41.106:44099" }, { "url": "https://ethnode2.adamant.im", - "alt_ip": "http://95.216.114.252:44099", - "hasIndex": true + "alt_ip": "http://95.216.114.252:44099" }, { "url": "https://ethnode3.adamant.im", - "alt_ip": "http://46.4.37.157:44099", - "hasIndex": true + "alt_ip": "http://46.4.37.157:44099" } ], "healthCheck": { @@ -56,6 +53,34 @@ "threshold": 5 } }, + "services": { + "description": { + "software": "ETH-transactions-storage", + "github": "https://github.com/Adamant-im/ETH-transactions-storage", + "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" + }, + "list": { + "ethIndexer": [ + { + "url": "https://ethnode1.adamant.im", + "alt_ip": "http://95.216.41.106:44099" + }, + { + "url": "https://ethnode2.adamant.im", + "alt_ip": "http://95.216.114.252:44099" + }, + { + "url": "https://ethnode3.adamant.im", + "alt_ip": "http://46.4.37.157:44099" + } + ] + }, + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } + }, "links": [ { "name": "github", @@ -78,16 +103,13 @@ "nodes": { "list": [ { - "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion", - "hasIndex": true + "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion" }, { - "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion", - "hasIndex": true + "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion" }, { - "url": "http://rekynxikhumzsme7phumocz3mquy7y3onkw33skmvk2akjkin2iopqqd.onion", - "hasIndex": true + "url": "http://rekynxikhumzsme7phumocz3mquy7y3onkw33skmvk2akjkin2iopqqd.onion" } ], "healthCheck": { @@ -96,6 +118,31 @@ "onScreenUpdateInterval": 10000, "threshold": 5 } + }, + "services": { + "description": { + "software": "ETH-transactions-storage", + "github": "https://github.com/Adamant-im/ETH-transactions-storage", + "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" + }, + "list": { + "ethIndexer": [ + { + "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion" + }, + { + "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion" + }, + { + "url": "http://rekynxikhumzsme7phumocz3mquy7y3onkw33skmvk2akjkin2iopqqd.onion" + } + ] + }, + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } From 1a8b4138db9d6d60bfa56a4b3463a3fd43e04d6e Mon Sep 17 00:00:00 2001 From: confleux Date: Wed, 31 Jan 2024 05:19:36 +0300 Subject: [PATCH 05/32] chore: add currencyinfo service --- assets/general/adamant/info.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 157571c7..0bdfeed2 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -57,6 +57,11 @@ "minVersion": "0.8.0" }, "services": { + "description": { + "software": "adamant-currencyinfo-services", + "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", + "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" + }, "list": { "infoService": [ { @@ -117,6 +122,11 @@ "minVersion": "0.8.0" }, "services": { + "description": { + "software": "adamant-currencyinfo-services", + "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", + "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" + }, "list": { "infoService": [ { From d0c3bea932a772fca840e4f4b06a24bf46447928 Mon Sep 17 00:00:00 2001 From: confleux Date: Wed, 31 Jan 2024 05:23:23 +0300 Subject: [PATCH 06/32] chore: update README --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 1e102f2a..05f349d8 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,11 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain // Optional. Services related to a project "services": { "list": { + "description": { + "software": "example-service", + "github": "https://github.com/--example", + "docs": "https://docs.example.com" // API docs + }, "infoService": [ { "url": "https://info.example.com" }, { From 801fe7dba0e0217bac4809488c6d29981aaca59f Mon Sep 17 00:00:00 2001 From: confleux Date: Sun, 30 Jun 2024 18:30:44 +0300 Subject: [PATCH 07/32] chore: update swagger --- specification/openapi.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/specification/openapi.json b/specification/openapi.json index 7af39558..0246bd84 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -95,6 +95,22 @@ } } }, + "ServiceDescription": { + "type": "object", + "required": ["software"], + "description": "Service node description", + "properties": { + "software": { + "type": "string" + }, + "github": { + "type": "string" + }, + "docs": { + "type": "string" + } + } + }, "TokenGeneral": { "type": "object", "required": [ @@ -269,6 +285,9 @@ "type": "object", "required": ["list", "healthCheck"], "properties": { + "description": { + "$ref": "#/components/schemas/ServiceDescription" + }, "list": { "type": "object", "additionalProperties": { From aca3a836dffbd87ceb9001d54c20886bab49b508 Mon Sep 17 00:00:00 2001 From: confleux Date: Sun, 30 Jun 2024 18:48:24 +0300 Subject: [PATCH 08/32] chore: remove ethnode1 --- assets/general/ethereum/info.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/assets/general/ethereum/info.json b/assets/general/ethereum/info.json index 4af2b0a7..75c57462 100644 --- a/assets/general/ethereum/info.json +++ b/assets/general/ethereum/info.json @@ -57,10 +57,6 @@ }, "list": { "ethIndexer": [ - { - "url": "https://ethnode1.adamant.im", - "alt_ip": "http://95.216.41.106:44099" - }, { "url": "https://ethnode2.adamant.im", "alt_ip": "http://95.216.114.252:44099" @@ -121,9 +117,6 @@ }, "list": { "ethIndexer": [ - { - "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion" - }, { "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion" }, From 352c418ecf3031f06983886b6a2cb937ce283429 Mon Sep 17 00:00:00 2001 From: confleux Date: Sun, 30 Jun 2024 18:53:04 +0300 Subject: [PATCH 09/32] chore: update bitcoin nodes --- assets/general/bitcoin/info.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index 0996ef30..29626b9d 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -35,8 +35,8 @@ "alt_ip": "http://176.9.38.204:44099/bitcoind" }, { - "url": "https://btcnode3.adamant.im", - "alt_ip": "http://195.201.242.108:44099" + "url": "https://btcnode3.adamant.im/bitcoind", + "alt_ip": "http://195.201.242.108:44099/bitcoind" } ], "healthCheck": { @@ -59,8 +59,8 @@ "alt_ip": "http://176.9.38.204:44099" }, { - "url": "https://btcnode2.adamant.im", - "alt_ip": "http://176.9.32.126:44099" + "url": "https://btcnode3.adamant.im", + "alt_ip": "http://195.201.242.108:44099" } ] }, @@ -117,7 +117,7 @@ "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" }, { - "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" + "url": "http://grnpvgtlrfws3424l726td5lctsod3hq2at4lhiasmedpxygbo5u2bqd.onion" } ] }, From 632d6b2f28b1445a617935857dc6299ed2259565 Mon Sep 17 00:00:00 2001 From: confleux Date: Sun, 30 Jun 2024 18:55:58 +0300 Subject: [PATCH 10/32] chore: add klayr service description --- assets/general/klayr/info.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/assets/general/klayr/info.json b/assets/general/klayr/info.json index 794bdf05..a30c5c92 100644 --- a/assets/general/klayr/info.json +++ b/assets/general/klayr/info.json @@ -46,6 +46,11 @@ } }, "services": { + "description": { + "software": "klayr-service", + "github": "https://github.com/KlayrHQ/klayr-service", + "docs": "https://klayr.xyz/documentation/klayr-service" + }, "list": { "klyService": [ { @@ -99,6 +104,11 @@ } }, "services": { + "description": { + "software": "klayr-service", + "github": "https://github.com/KlayrHQ/klayr-service", + "docs": "https://klayr.xyz/documentation/klayr-service" + }, "list": { "klyService": [ { From 7833198bc40da7352965c1ef91da2e95725829ce Mon Sep 17 00:00:00 2001 From: confleux Date: Sun, 30 Jun 2024 18:57:45 +0300 Subject: [PATCH 11/32] chore: add ServiceDescription to tor --- specification/openapi.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/openapi.json b/specification/openapi.json index 0246bd84..f82d20ea 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -356,6 +356,9 @@ "type": "object", "required": ["list"], "properties": { + "description": { + "$ref": "#/components/schemas/ServiceDescription" + }, "list": { "type": "object", "additionalProperties": { From 7a6670b4de09878795c75b91b84f077119826124 Mon Sep 17 00:00:00 2001 From: confleux Date: Wed, 10 Jul 2024 14:11:16 +0300 Subject: [PATCH 12/32] chore: add ipfs node --- assets/general/adamant/info.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 0b2f5fa5..134881a5 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -76,6 +76,20 @@ "url": "https://info.adamant.im", "alt_ip": "http://88.198.156.44:44099" } + ], + "ipfsNode": [ + { + "url": "https://ipfs4.adm.im", + "alt_ip": "http://95.216.45.88:44099" + }, + { + "url": "https://ipfs5.adamant.im", + "alt_ip": "http://62.72.43.99:44099" + }, + { + "url": "https://ipfs6.adamant.business", + "alt_ip": "http://75.119.138.235:44099" + } ] }, "healthCheck": { @@ -141,6 +155,17 @@ { "url": "http://czjsawp2crjmnkliw2h2kpk7wwd3a36zvvnvqgvzmi4t4vc2yzm7j2qd.onion" } + ], + "ipfsNode": [ + { + "url": "http://z455rax4mwcseyc7efog7czrbwdvphwocatl5sjcc6htcoj2k2vz7dad.onion" + }, + { + "url": "http://cds45bjd7ynxkffxpzfifnm55r6vmhgocvpvonjmry3mrskuhda6z7qd.onion" + }, + { + "url": "http://3ytwoe62bqw264v4rkaqpn5iovdg3oxly5tx2uc5qijkrdqixm6tmdyd.onion" + } ] }, "healthCheck": { From d7523484582dc66e01d015683c9f848ab2486fc7 Mon Sep 17 00:00:00 2001 From: StanislavDevIOS Date: Thu, 11 Jul 2024 10:03:55 +0300 Subject: [PATCH 13/32] Fix icons: MANA & KLAYR --- assets/general/klayr/images/klayr_wallet.png | Bin 378 -> 376 bytes .../general/klayr/images/klayr_wallet@2x.png | Bin 567 -> 561 bytes .../general/klayr/images/klayr_wallet@3x.png | Bin 728 -> 728 bytes assets/general/mana/images/mana_wallet.png | Bin 2760 -> 2978 bytes assets/general/mana/images/mana_wallet@2x.png | Bin 5980 -> 6625 bytes assets/general/mana/images/mana_wallet@3x.png | Bin 10018 -> 11468 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/general/klayr/images/klayr_wallet.png b/assets/general/klayr/images/klayr_wallet.png index 46d2959c3d6dd15642655e466833157b807511d5..fb15bc8dc27602217b1ec7a0acbd789898b0fff4 100644 GIT binary patch delta 299 zcmeyx^n+1a zKJ^BV*>nZnN1I>1nlR^C#xIle`Y$gn@%``VUtN{8_S@9yM?##EdJ0!aw0D6Bt!ssv zoELLSCZ2t@uGD8^%E^?8(-kVB7bVGP+3AK}J3YIoeq)a3+4`{g+tSpZ&VKt#G5z?P z^5O?Oe*Rc>Cw{B2(VSKOw{w>N^R3_?6Q61nuEk+p8`6)CUs38IsCv@PlcJLt;%{{1CYl7;^B*Ehu+ voU}kmI6Qxb%6^eP%a9)DqZU9y^z{z&ZSzcxKN^@-FaUw4tDnm{r-UW|$5)Zv delta 301 zcmeyt^owaiSUta|i(^Oy#Cm_$(P;_@nFBzEjzAY(J_j=bDt<<9yU21WfGg z)Anqewt3l%*->kXqwcO>(?3n+;B6t%#{nO6S0?4HI`#3v+xlzrbyJR49p3J8^Zlw% zB|H~Tdi+wgd$nciW5)wU)zf#VHBXD!o|G{s*pcPf!Xz23x7^QPFZ~m*aQx}5U+Xu2 zv$(E#B<|<(*7Gu2U}-R+Hz(BX@$?r{j@eH+Quz6*bBUF#R$WYB$s^3=z|+;wWt~$(698cEm|_3` diff --git a/assets/general/klayr/images/klayr_wallet@2x.png b/assets/general/klayr/images/klayr_wallet@2x.png index 410144c82e581f668506fe2950fae075aa7f3d31..a687ffb168402d4e9c27377c106b62e998508e61 100644 GIT binary patch delta 302 zcmV+}0nz@q1hE8=R#C=DL_t(|0qxx(PD4QyM&ZBZg%GF%!3vtX;=2GW8iim37`g=< zhCQ$a>e)cuLts!%2o6Y~p@js2LQE4ToaTIf)X5uhGr6xbY5U6vryC)X0wIyW4i!|B zHT5`KerCJ(9lZS9dkDNLp^@+v9c4Hu#7pL<*&??$^VIP290WwT z_G>WRPT!&*UX_!90WOig3>4L0GOx0Gq$c;A{9={eBQ?3_M1PZi0T>!u+dnq0>R{Al zw{QpaV7QUmI+M1)jBvavp^@+vk-!xhD8oU00w@D8oFJBGxBvhE07*qoM6N<$f(i_e AUH||9 delta 300 zcmV+{0n`4m1h)i`R#41IL_t(|0qxx}E(B2=$MN4H5g|wvt8oQddjT#Wx;=&M9YCRV z25|xxP_L{~rIIKF5hM(&SG-BQ?0540^plz7JM)T{m;dx8O_~U2E<%%W0WTG(g>=;Y z-F$|-{nW5`_?pq_V`}n?lW+kWJ5_y?d33OmQagi>43D0Ru327da&qyIQfJ5OxxJbF zz4z)*czv~)Qkz?!DYdft^&7nWy6L@UKb%V?k+2vZg*eGPJ(YZUzLXkXo*3^kBHZ|A zV|v_TbGpl1Dxs4B0veN$0T_|L2NbHGWNtHiq$cN_{GrY4k(!)yqJNX{0T>x|_K%Hi y4ffyCFPs6rJ$O%Ty-AZM!f~mDlW_qp7WEBRh%omBr{J0Z0000Le@8Md bP!`UAh({}bgI%RY00000NkvXXu0mjfv>k}W delta 286 zcmV+(0pb4G1=t0UUqd}=lu;Cb;gcu`QG#GGRo3AST!GllBK+Hh;3Dj@gls@tAxlW3 zmHD%ZPMAG>#XEe@1Gl}^%emF%99`~aHxP0>5R;Gr8j-&^7N^4^KEHi6Kfgbls_lo{ z*?zp8Lts*qj{zHzzY{?Y<~zi%t0%Lh=coVY#p!OAvN`)Vo2!Re%H8$x+~2HoW*khE z+t-^}(x{h0paBYz zzc3>Qv$AA!_AqO5cYQqfH|v}k2NUJDAHQc!_B(zq&QE5IJl~T)0xOfC0R;$ibh(?| kK!{0`e*r6zza{HIXaE2J07*qoM6N<$f7zspW&KRBEFp>W3heDtzb%S0X7019s{X z7bqs!#%?e%e+(Gk-A?E2?%Vg?-kx)39}Od~clZ67H}huRZ-3^!J%j>N|Ic?MFm5e{ zwABm*&4iQyzytz3!qqXpl3ach5Qh1F5fFR0?!^7n*gFj^zZrr85<&rJuw`ex9kad- zWN!e%W|u1wvqyFJiJU*T%z2Qd{M3O+NA4%#^@f(#%P>Wnl5%}}cdoDyf5ML|S-5C` zBl%;Hryv@Nfq$boiE?cMq`E{$tO&NwdFkNaVUjc{<*u~+;Iq+a{gKX zqTJM3rk-rUQ5bw|i=M9CeefdWKvph|`u9HnRFR!N1$I`&Tycs)cQ#LWS%%7zzMDE_ z+VptJo2@kWwHH`v{Ab_ZU8^An`q+6N*thFBu;DOBHw=;xfq@?D&~1_8qCPGZmurat zQUYc?%YW(8*PhW*^6}j}#b()F^U}fJ!2~p+jB<|Y(Xp5*fo=z$ZG0@eKPJExjz9{8DjewL zM9OUg%DdJy$JZ7mPyBDil7W1b>)XGp(L#6&gnu1KV@&3Xa;PYaXNz(qy*KFi=}C`@ zlLsb&Rp`Y=*&F?S?o*77`X>Q)VIpKm=E410o|XkhVD(#T2q&Hv@^eLqg4cO2&XI|f zkb#&k=QzL3VRhPQBlPK?$HE# zTz^uo1U|ya7<8G0dzh5+%6&pK?kW@j*055ax7_S=nrAs7RVkO(J9P-<-gri^_gz}7 zUeLZoH$(v zwryz^7s`-^lAfjSxO)p+_<{IQLeY;h1vYR*sRn!YU=n5m9S`8RIz>w zMrT$#O-F8&z^Tp}F!>=GTm+M0$e*tHx|o@dns%vpvpCDKVv*!Bt$SccEPvyQ<_P40 zjmN(9ORF$G&&+-X2Fu|63)PBWFkciULwvgrxzh-@zvVLtDg$P4Xa9&@mcaC7U(Jw1G&*;_8mCOahi0qBzbpi#4aFJ%6}Wq`=IO1R0{D`uR})~c?CXz2j@rdDFb-gb06(C+d@WQNksFQ5!tkNjFeYm#nT%Bqp?h3 zv`!2xaI&M$MbMyYdb3ZXy!^ZP-faW1tI~*f^^==&onu+Xr93(?`G4;&FB{b9n&T{# z5L=p=3K3<-A2`g>)WoQRj2I~^4^d3X?o1|McgLa*f-ZlemnYXIPXs+uxq^-G*drPS zOL<5SBgXL`NlXKEASJBnHbJQ2bR1@=wT3GEnt{?K%Yuq;xyTqsDq)b_+!1fwh${q@ zIca7B91@B!{K!x3Nq^+}3qg9EE+#i-FmNO!9a?-(oBrih5T6^mFZ8?WO6fuJDkEsm z1^4U$2*NTUeSLfGrY#RM3HR2%JVw;|D+Qw>)lO+^jI_aYA_p0lW+J1}C}Zl?k`Vg5 ze|{ER{qGDVsNY-(&T=YTHV&6U07*k`(9zzdl*L1jY8_R|C4aLD9;CQ_J_eC7j4-g2 z^yMQxspE`5&}j;L1A<2ve;qGJ4#>y|<=+TL z#$1)uAn2Hhpw3h2(v?o^?EKekxOTlXXblW`(qo&dbL~ECAz^>W3_9{LGD6kH z??7aFCNfS$nSbtS(mjEo9kq;|=r=5$w}98Qd)6vW*Z*<47Dn$DDY%z{t5NhLd)Y=y z4e_D~eVu{D>ftyePzP!x<4OBXM#hxbP3Mb@lcBmVCSb{Pi?Y@SLzZ*rb$6m8funbd0JLN?(9EgAG`y}g z0{H0oAKs2WTAkB(uWWSn%peS$9h|UDZ2ByC;(te*o%I$*w+3&+AHVtMtRPhS$T)mu z*(Hib(_y)Sn1v%Xds^3tNB`5*o!ecnL~hfRlq)OaYkBs1D?S5eKE4hjSrh|b+U#*s zSnkB>1TOo+2c(i$wcdD>^ecZn`B3}htL=PihX+JxMWKA*28fhY!c^(na493`9Q}w& zCV%9|YWK9Z%TnXaH)Y`t0PmYhfvM~>>!G-6J`{>BU9N=QzAE1-`8Gxt?bh2E%GIrU zwVN&73I(Rpc`IRB&0;7t2?V`%UHmY~*`l^3ero=lBjdDwY-o57-+G`xR6Mf@N*lih z4}t`Oo;*_vw@2gu7C++%)?-+wf!B67aer=kifvsA4?m6Bsr16yt-s9p`9|n>mYQex z_fQ%)0zH`ZS1@AvcxSOLOff-OKO!ZzynK|u{Cp1{ViNMzKKt^qZ1ode3?T>Vd+ledc~>ib-4KUQnvjoh)Aq*1mi6LM+~c~I|)&2cP?AD}dB<(~gHE0S}PMXhw_{+@>R2k@&s zoqE@7Yvz1vKW98s%0+Xe_B6qc#=jo!&bQ;Fl#|r^)bO&v&cCScmrbiX2X%gmtl%j5ao30UGx3f zMCoOg#ozsqnt1!t$a|BSTvg74MIEc~K`^II{b=z8&`oygG)Lp(^WSdkhXT_70LSyX U4+#BW)c^nh07*qoM6N<$f-VZK)Bpeg delta 2703 zcmV;A3UKwJ7swTmReuUyNklYjD)o75=WIefWhj*d&l~uz8e*gjab5LMb*7 z8WNnQ4QT>2V;+smt0_&OC8QZGj3Zb-PZOZ zWl9Pd8{-EU@2;fVqutf6Rx4?>Yt!=0oLx!x=-%_`oO{l_5`RMvgD-jU9(3H8gWK|W zsA>UJHj1PO9Qg>!0w8cOp#uu9r{gBbN&`IJqsY%a%>KOX5_%8}Jpf)=S%Qw+3n6;u z6M;ccR0fqAG~pyl^j|fI@tkx0xE6(d4wL?Nc5ufTbQ9eo$Dezy9E`n6Proc~ICmyu zcP&mZB3b@}kblIj?C*Q_BSU0Fj(>m2Slqa|iHJ$jV;H{_*B1 zq=~f1an2d4=5L_+vIZelvNkXULH8jVZv#zLN!pAlV}HVa^~2k63D@NKx)tNl+_Ddf zQfhA)l0DcHAsTOQfX_3X9sk35H#Q4yl=w?ao;CiBe_Y9btE6C zsY6tSvls0=NTwh!XEpnvdJ{4w$6r~p8l5*cTFxi^_yOu-ikN)!A!Y)Uha6u&ZxDi= zyTQ1F0a0VKZJeLaEDU1F2HN${ToBaU*wML@&!l8$0V#>t->UsMc;G$iAU{T(o0PQ9 zm8h}TsqsDwf|q&304;n(U0=UB8ftp~d30?8oqr71=52JmHj4X|NR#|xE7K47j zw!~{{+DBz-Fk_56lEeE)HiWa1ac~uer)BJzr9Xi4R$62C_$s2ZP6bPkRu zg)$Pa=>g@C44|8)P}@7y*BS0auoUCw{gjSgF?NyABY$K0gJ@}~3ui`Gbu22HAzH@F zLx04Rr$|~{6mc!XmRTetGqke(TN(I*+b0<&hLG)>#NPki3H`RjIoIB?g%p|X1h$$V znr*j8YG{-LWce}rZ|BzYheh?Z|K9X7)devPStQSst{3)mkSiYC4kVO@7&-pS#dE+z z(^F=sq-=)dj3~f93+eW}6`i-TQCl}Eb%>tJz;m^# z^VHC7RFpxy;>CN&o; zjaDLcNU^rZ&PFvr3p$TblA4gk&He5JzP=#A2F-I43&rHjXG6kaY8#^3YUYn}r0Cn> zBDGa3$qNH3g2w9{1riy0Z+K9Z>**x|?TbjnYN%A%+meTc7A+m(i^cqP{)4_iXi)`*-pAKC|6h=#wQU*tqToTO9 z2j&y8{Ju&33e>a2b2z6mF2o|6!=ZErbO5T1Ma1KJI9$TXHf2eO)Iw9|gj_&|(0w106GNUzn}#fGpc z9u7=&CKe&5T85=jT2A*t@TS+4;o@V-v!B7aD?{wVm6`0b3sFgE7f7kuevZ*euOgaf z%V>#}<%*oK6j+I%C}=v_7fL{kj3F8b&i)2aJ`1PLKY;7)g{B99#Qk8ZImmEEAmvYz zo{}zJKTttCh@3uf1AmdF_M9e+cGfK?3&2%Fbc}r%c=B0jFGsyBh`Q4wXc3-e?LpDx z081U#q#d?dx>u8_i^y~R;1=OIm%?+p@D55cpXElz>qje@1y!+rJVcID)%e$^Bk2Q@ z$J#qqQz)T`D-8mDMfu1wB*#BXJKsl;4#Hs>U4FR{rBOsz+kXIHIYo!hAM3|UTLw+! zE)n(hL+wc=oSQ<_pIsx-7tQ^+5s1E8LL>uyX$CN24$_4P`%+-}FtYvdEdL(W%_759 zPH*Ldv9r#$Y+Pz6Msdj{qe>j%b+Yj!nnimT9v0Y)EsYSw3$dqBa6fsi5}80R1#ZQ^ z^l^w|hbHu)nSbX&FhN=_7ohn{A#4l1IYb52vNtz=5veXr{(V>>mpb^`OVMpZ2IRDa zLd!2V;#*n)sq!()ezb&Qmgb9vxYeF*lhsWmi~1e}^wKE_d*G*+k7cjY>+wQl3b%94 zQ#J&BH#mhZ1@_qMaz<@lcE+DEVBdd)O+ z2U=cu!r^74pQ2(cMTftay^av^oGqwEwx7>K?_q6v+(n=#nJnK{Lst>7S$hxD-x1s? zFnW$7SARtaI;m+zoRWx>@EgSOqCa`gW%>8B?YrL9`!ek|eXAjdj?xR-6tR^7hR&mn z=s;JhUPCFcgL;)g_KT42RU#Jz+5q@{Ym7PxBv{#7$LaSM=xLNx(Bk`1*XmZ;(n>g$ zKHeT>;So2nH+Ft*>?henGX`m&ff~Z!oi$N25r4#`U<5Fb$jM!<#Ush?M4)x5_Kqb; z_C7rQH8T~zhzEl|!`%e!C79@WS^Vy{ z&3{g6t^!Z4UOE>+c^4h#hF$%EA0-+aYwRCFm}An%DK_Y@tDU z$oG_Y`L0^HKw2q-uV0^yztnF)m%Iu}24871g&?RT8}a0@b!`25)$MH=(u3;a(eGF-$Tgjf6Eq|y$KwW{3&`k6+MBxZ|>vi_=JBN`WdZd!^ zis$J~4qJ?W-y#JtNBv{x``ey(|qoC?#ET79G%JpGPsoH zW`80)1d5syezPnR2|;KF=glOwq|*wYbQF0x@3I3sub>CD% JPDHLkV1f>)Er8O@rTN1587DaOJWM=N2JLjC4xqElH%MXP=YIXO{oqw-8XU;jlIdgYcz$V0{ ze|&Nuq;kKIaug(tLIOi7c|X(zKq7X4l*6Qe5Z6@xPXXkD5Mn`soCBH6LoJ<=66Qv} zH8lg93<5SdW+x|xx_iWQxv@p4_l;TN<)uRQe{(o7$ zUfT2Yv-7aQuwewJHLJHPIj+X@Q8k?7k!*Ib^?RpL=1e8(^!(J7kRc6|K<}NNXL(&4 ziJVahQ?(^|ZujKW9BcrryWoEI4-?~wfMXz%qs9bkgntLy!Va=O*c!B)FKDWLP-q=D zu~En~$qJlWZvn2G;IzPMLYyqoE(|OrZuZNGp;(b8)>;GCOmNzV^>o2= zs>$QzLVqI@<@+X+JDL~Q)wrw-))k*TAzzpa99~>Y6Pmyp;Dcwr`M46=MNeoJRcL*d zW>UO7vAVDT^Ard}7WuHy{QAS?jqu=DS`)8)@a-ojU=7ewjnlMVc8M1vW-&b5%@syY zxIc@L7EJF$W{%fS+ae|~+CT0qgZ0B)QkM^QQh)n8rg2)!((dF9byr6sS*RxAL34xe zj#%5MR+$h81I78uwNiS5rW%*^*9nx=B@;0<^3->qfHtG8f-@119(V~-v7cNh z8-JkY5U2hPOCljAiD0ZT-cGC^So1<<$-1)rrn7B=yY$S&evyiow3#po)n+qK%lcGP zW%~2$H`J>h&?u9Wn8M~KMK<`ca&)0?&2^Ot!}A!wDBCK$wg}D$4U$)i$OlJN?bxn5 zv{z*tVp(-O|FSxMB59o(VLyghq>LPCet&H0;@VVpKR$Ey1*q;MeXt$75vvy5rPEIw z6Dgd5G8X2{kw19$=El^zccj5YeqR-vmyOqcMS;?g8MIKA*5gQ%Kaonx%LI;(JoVg* zunMe-ReC}T^^^J#L2k^vQ`p;BXeR4@D$j_3+;ovvPgZiC={l0=Y1f>!K8XWmQ@x1l`6l7 z()`&iiwVJ_T^!rvue$47CD43usz!*(RsZL}W*4Mr(57 z$OiQeXdeC0$j^yVjVZGLc`CSVpP0FnYy!Btlf(uJAliO5fp%ynuE!LbMAL#ZLdz(B zxu)=07V}9xEm-URNSW9`^7dn9)Lj!^^v2I`{k8LRyna4Lz6B5_%A(f3I)88hO`s{k zT{`{bbHzFhz#k-+F1>W^$oc+QL#2#hQ96@H>*Rwii?x>}4cT=b#=;@5P^Zc*2VUbf zhCf+Uz(Plxpb1o-?mG4;Wja;5eySG6B7RByiZUyoYf|ezRC0JPvMA5`CK{3=t|8jI z>B-fl@+gfKzogO!)oYtDet*?KPnboO{knSpk$T;fp}NDwEH*YMU5I32&$pg^9x9;H zh#9}8f~L7&Yi{kt1?`w;hGCWTn@tip%_4>i3cQODg#P>rAi z1DDkCYNRbcRtnzzW2gmsvYZ~M5?!feD%0MAjBvZoNl2L4VSnesMt|A$YtjrrWqc@| z(0sTyT$>`8$C+~pLyDQ-uafU;LTDO8*`za8qXzgMUG#-(on8BdNRNs<>20toO*a&r zHj!%0Gz$KpWbjFd>tuFbbdTi0{eD+wW~dRatMRzV@`cQwsG!02K1S4kzoiDg4_b#Z z_2T{niaMMRcaK8Y^nVbrfl_;yA3XEK+$l1b-o4=q;)9kJQ_Gpo4U9 z^f~q~zUJY$;-H!&?G&1Z(m3&}s`|H4|3d8p0AsRrU8+oG_IwVUh&2`MxzV;RF$=2) z)iT>TdoDyPqlZIUzWF9O!)=O#>a?%Tg0oGk2?&=Y1R^qxH4bfurBeRhy?-|~9cm-$ zO%xu^wL?*h06&|uu&V=Xuihs#UI)c|~epx>7Pk%VvrRf?lK2D`7lCZxq#J*$if$#d897WHg0mv|Kyyiz6`|ZB!o$#GfB$8%!O2v z%6&pmu77E`EO?L8`HNCM@L_?*gexPy7{maq9k%E9i!DHm=>mjYfH@>xaEw-D_Ybizc^a2h_gbXMd?A zy~!z(qkQ*(2(I3pj04w_xXB9pmT(h+8vGCz$Ws%o)8|mFdU_-~Q%adtL}m zb|pt?s}UdJmIBmV;lOHWb5&o%PerlXZF>K~!!UU05p$BN=C*`Dl$a?uv9~*$Kd1w^ob$VBe1y%AjRr*`*O&PuHhM03r;H zNBhh2(DfN@7;8peD$gf1gWUBOUx%)tonF=U-f!OQf*=0q9$wZ30(hH#f1Hn7=)CaE z&NyzDBSikPF^XF>g>I1=%b4VKKYs{eq41eN8wKDG+4w$)4;+O_8#wZa2nkK2me;8L z-Ic2Y8Pl|IkHN*5FE-h(qw~;N=!tPXaJ!+2i-E_>PtPq`VxGe^f>S$F`=A*((+5S& z(y2Y|XeeTUHdzOcJS+wjA&J3$P$$u=57oqb7k9$N`CYaiAVJztRK?x2yMK8-sQ=eF zt&=}NCn35Y>L<+$5Q(s;KTG{J84n@4_gupy&~+b0l8l;C zf;Nx3^#t9QeXp73f1cl~nP%7=bJL8E7Wx^HH&oh{RSIueW|}r%xPJ}YHcbo1fQ5HG zZ1(L~?@N>u@jrB62ivFD&OC7n8&YjYb&HFNLCP3|08C zGXgVZ=o8Jjt+t$VN}@}F>0Fyz97U6^Sv_cSj*OUc3{B9Adf&* z=p~n44&aY~bM4cgn)vDLP8jH4fnVPHF$9(dj>WnU9)@D8*?)t!H&ZD;QVD(Pd_b+K zx>W-`dA^(K^;v$bBN7IYja*C4_*}w14kBA<{x>^7(M}4(U8>3*C^7WBy}LOqz-$1l zP$7!EgUv8V489z&@3a2v9pdc$oA2BWLqm(ObI1P|Ed!recrg6?)c4_LwHD%{6s4WR zlN|eUED(QeFn_5F3*Ev_C>)u}>ffiw0Dldxzvghl;uz;`|gL}IQ#WY88^Wpq2V^@qzRjF>XTiYZW2IIC$oae$9W%6q$U%0 zih{Bs+JOSKojY|5QZ!Mc#j{)I<2 z@J#0umIoSe$4IM^=kbN@PcS}-C=xNO7T{tSfJ7O5dmHYM3=$N?M76MX{aG~z8A572 znETUaQ>WP%UM5(xshQ>ve>~z?W=LByxcl>k;I47PAp`8uE}C6=AlG;vuO~vVC6n+3 zZQIX|Lw|`^0co-UUF8hPX{gCJaOk0yg{Dz66=#21yDXd3uNuDJJWb@nymBRvX~xz{ z6y@J*fd)++>zF1D&4rsFXTqoT?ti{Q8e#L<^7P?guQfFBZ64YtHp!Cp zp+G`zz^C}3#;8fK0z`H9|4wTRl0&llwye@>nEk`+I*|)eL&r3)>fQ4)jq)0me8K{H zPql_u={M21O@UIaaS3owf4(dq+yU>XpKRJP$!+Gg7oe+ z*MGzWkr~Z2Z!PsX6DAnL!S5r?&urj^$w*l1@-y}xYm_8qe0CWlJoef`0*PGkn2%#T zys%HP(Yh|*#cqi~h9DRL!AOCvq4T^p+G4fNFwIv-U`2LQ!UEvC0(V+eoNT*8z!#3e z#kr`j4rw2r;92*mP~&Xek-HGv&0~O434bmXeg}MMi{K1EdCPXOTZKgC4Z53M9q3jPt_4~HvxPLS;&FneNctJMUgNL%m1TD_LK9ZST+<%nU zxQMe?&Kr0b5nl_zl4O}`!NCISc=*mZ?a$Iox`{!S>|(cyf_{`Of0!|_LKB=Us=teB z_k8yKyHNvV;7EQGqB~3p*0M3X_hnm2xO{logxyZo1@6m2R*bF{DYA5(VNS8iWZrAc zz2`H6rh#FQq8$t}1U~p&i}a}stbctA;R(k=?cdBhcZzG;Xj#$0#T2E9-eyR_|h$++e%lDF(RMCDthG3voWLt~_5oXPWhtes_V{x4*_yCF*m@$mGd8u$Jogi?{kzO!Hn+VSm|Uf*hK;UU=to8PoKAobS8rd%kSofo+!;V$k1lnMY2< zoEN6aA_$?zI>I0u0c%=W9t|vD?BDD)>lZ({+Fv}US%qNnu$x{ho>yjfajB0-Q}7ek zc}EH#3MkEWGj>btnksoN>x;fpuTRr!kf|vC!Jr(SVvuEMW+{*r@PEq|!emwHnCA7p zUv3zpyJh)xxo7AJ5p$046<27 zmjfZU0qiUPrCXTex@_6)y9Z(H=S&b{D(h2k!BB-f=%Ljqk_zWsY&W zI$U;Ho7P7oxaH;aEPuq9WnR!c2iZXe8AC`o7M!HuH1l2t=U-tiwa^~@=PyF-^mj&C+v!2aAQkPe@*HGGP{B&Z z0ucN8yZ+?Z{kKzd!u*7?PL=vu0l6LwvJw2KoI{y* zT5bI8KmB!h;IRYH3apO{J?nynmp`;5ikPNbuTh)sZ=)4g0pC>ix}as``a|Fu7Y{#6LgK%#J&og5+;9ugKenfkhp zX$}u9iQ(=14p6q=I+wL!ZXBsR?xeYMz`G=r?boB%)7AuvRMi5|) zv}In!4=r)9dmaXR#M_QCI~R1Kbj+W>d$J%0p)N^tE!Xh%J^0Upx6dcCHY=DmV% zCAmT}_{e`<%AhQQg1a5GuC{Gw+k~cp{g!|*VJZvHY1~}w^|q2+VH8!#7u{Ohn*L7a z&8&4=XgeSH8YJEACs<|MOFTWKrFbhT8Z{{v-N|u?ASyVmb*lJ_u*o30?l3~@+BOVp zjepoPGW=1CjA`Bp!QFyFi1N&yr=OjVGzF!<^s&@8I05)6uuXu$&;S0K3N5xXQCtW5 z;F86Kckap_kEfMn%L4uL(={lyc%_0HdvJ0=MNu}5$!r&cY=ltoKL);7$2kAm9{%NW zBCr2>9Nr3{;cx5g`O#fddS8@jw~EDbSDl_WmZKk^P0P)TsRzoOK3gPP1vGDr-* zpJ&smn9WeSEvsJz)0A+k%5TSMG^OL0Uih0SA!-eOB5MoHL#Fcik-t1WQ8j;4zkiXs z41JSog0%Fz)mtcm@@vfqO`|Enjh&cWxRrK)MM(45`WD&&HI_@zUCFOuv_yw4egCQb zqDTKAAT;$8$XoERuq3+=D214VCea#?1?}&Y@KSh_eEG;0sv|WIXdM_iak?ef)ASFx zTj&PsCBG=Rg>uLhd7@RJX{=gZlz-VgE^6??mgZGNYL)^gMjktT23CQ#jJ7eGV$0`M zz=9ImgR9Xri)6mT5mZG&=!tq-x?9)bE)u{y8=FZ-3u!80l{X z9i@V^N549%8hAynz$pA8LCR_97AMBees2ysgf-#tM*C9vxN2<_ZfkT_%P`h#@ujs7 zR?JT$AA{Qw63#&P;uB+M&#cM5<(jXWjR2SB3yNxu!|ecV7KJ!9_OIWYhBd^xg*#^d z@T=qMrcZ8K0j`t4EY>|vwST!xsPw!5vH$2Ct#1_@KBPZ;^!O00Y*U(;j;r48 z>xdxr@0~2ejADl8^cS2#ZSm|z(X1FY~WVt*>-UOyFZRqyrAgo@G# zIpjxcjBm;WA>~XeU?CA=Ufum1)RUR9fB%J=;AOHXW delta 5948 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 literal 10018 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 Date: Thu, 11 Jul 2024 18:59:42 +0300 Subject: [PATCH 14/32] Add klayr_wallet_row icon --- assets/general/klayr/images/klayr_wallet_row.png | Bin 0 -> 285 bytes .../general/klayr/images/klayr_wallet_row@2x.png | Bin 0 -> 339 bytes .../general/klayr/images/klayr_wallet_row@3x.png | Bin 0 -> 468 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/general/klayr/images/klayr_wallet_row.png create mode 100644 assets/general/klayr/images/klayr_wallet_row@2x.png create mode 100644 assets/general/klayr/images/klayr_wallet_row@3x.png diff --git a/assets/general/klayr/images/klayr_wallet_row.png b/assets/general/klayr/images/klayr_wallet_row.png new file mode 100644 index 0000000000000000000000000000000000000000..f65fc841f11783db8867b02d97f48106e087d094 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^<{-?$3?%2XDwO~!n*g5>SN8%RSvgTTMG+-U9%T(7 zMO9%1B@qiJ4mky}@EitNMPYSqF&SA2X&EsE6+tC+{@^qQWpyDHO+hIssqS01!+_=p zmjw9*GhA3}R#31-;0()hr6(T)BH0Ry{L5lofzq{}E{-7{$KPJP%hjO3(-2sHYR;_4 zz5jQYEf(!u(G8e^IaBqUxJ3kEWj&3|E|7<}7j6 z#?E3|S@JQ)UH&o_?BBb-ZTA*T^@`Ced2!+ElWT6ruPfekTmA2bXm)YKI{xK7{#V}C eUQ$%}|B8VzI=mpjqtqVg5C%_IKbLh*2~7Z`EMQ;& literal 0 HcmV?d00001 diff --git a/assets/general/klayr/images/klayr_wallet_row@2x.png b/assets/general/klayr/images/klayr_wallet_row@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1f280c79e438ddc800da5a1e6da1c04108134e3a GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^c_7Te3?x6cUONe-Yyx~jT-^(Nbd0&w47e0k`Q(*_ zl+*?NlUPc67*w?ceG-_}^*NQbcofz6<>bW-Or)h`MRcv%q!?JGfIvpfv5(CQXpUe> zkY6xEb=2Ndr})^n^5-tht3%H;U-{+R27hj|@s4qLJp>*=qHF*zG|?~cgVm+NDi!NA(`da77nN9dMQ z=dVrix>falRqN?+OXem1pD$+T?!HvJ!~K%4cL5l*7rdRaJliyD)*Qd-{(P0KNiJ;ihLnuPBE(7K8zjO<|WJT}Uu)LrkstEIriH=H>;{npN4T@ecO0E4Hi KpUXO@geCwrv3XMf literal 0 HcmV?d00001 diff --git a/assets/general/klayr/images/klayr_wallet_row@3x.png b/assets/general/klayr/images/klayr_wallet_row@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6a9d68de19f8211e201cc175f98d18428f1744 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^OF@{08AzUIRd@-c3<7*YT-^(NWEF%gTv_$ax#g7k z)O9(W{MfBLSsXm2)Qnhs;+UL5m=sj_^v$`XKtLkbU_LKUFJDQJUogYZ;91XCxEgB| z@yH&Z{b1$G2@DL3uAVNAAsP4H-ZJ!Jb`&}GQMJ`6=qZ!*#?6~Qv0U?fD$24xaq1=I z8xb60-?qsqgr8u&cjrOx##1&Xk8dZkiGBY+F-h^s@$YHQ5}PiUwoJJHxoY}J*O@=X zjBkq0(#kyaP;{Su2*3FCP@l)*vyBpi4Gj(5Ge1c;S-yN96tLX#zd@y0{=Pf2R{T1% z+5fZQ?u}77mu=R~edaUWGt7VHREv1^%jswD=|tWWS-#Wj> Date: Sun, 14 Jul 2024 17:44:25 +0300 Subject: [PATCH 15/32] feat: add dogenode3 --- assets/general/doge/info.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/assets/general/doge/info.json b/assets/general/doge/info.json index 7afe0245..460b1267 100644 --- a/assets/general/doge/info.json +++ b/assets/general/doge/info.json @@ -37,6 +37,10 @@ { "url": "https://dogenode2.adamant.im", "alt_ip": "http://176.9.32.126:44098" + }, + { + "url": "https://dogenode3.adm.im", + "alt_ip": "http://95.216.45.88:44098" } ], "healthCheck": { @@ -72,6 +76,9 @@ }, { "url": "http://bfu3iiofsagyhi22zijfilbkzlzbalpylhhfcluqmezx2avdwcxut7yd.onion" + }, + { + "url": "http://tdl25bmpwystxnm6hxzqdrkaxxdicknbigs5umob2nlgcbbqgidd64qd.onion" } ], "healthCheck": { From a2657ba8a2432585941b4c3571845eb26ae3e325 Mon Sep 17 00:00:00 2001 From: martiliones Date: Mon, 15 Jul 2024 17:14:38 +0500 Subject: [PATCH 16/32] feat(ADM): add info2.adm.im infoservice --- assets/general/adamant/info.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 0b2f5fa5..78011d97 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -75,6 +75,10 @@ { "url": "https://info.adamant.im", "alt_ip": "http://88.198.156.44:44099" + }, + { + "url": "https://info2.adm.im", + "alt_ip": "http://207.180.210.95:33088" } ] }, From c6f86e0ed483706af9ea822c447b14e1571f13af Mon Sep 17 00:00:00 2001 From: bludnic Date: Fri, 16 Aug 2024 19:27:21 +0100 Subject: [PATCH 17/32] fix(adm, services): lower healthcheck intervals --- assets/general/adamant/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 0b2f5fa5..e5452385 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -80,8 +80,8 @@ }, "healthCheck": { "normalUpdateInterval": 300000, - "crucialUpdateInterval": 300000, - "onScreenUpdateInterval": 300000 + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 } }, "links": [ @@ -145,8 +145,8 @@ }, "healthCheck": { "normalUpdateInterval": 300000, - "crucialUpdateInterval": 300000, - "onScreenUpdateInterval": 300000 + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 } } } From 5f6317fec09430e229d6f5349e841ce08b98d25d Mon Sep 17 00:00:00 2001 From: adamant-al Date: Fri, 30 Aug 2024 15:26:45 +0400 Subject: [PATCH 18/32] feat: introduce `increasedGasPricePercent` --- README.md | 4 ++-- assets/general/ethereum/info.json | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1e102f2a..2f966507 100644 --- a/README.md +++ b/README.md @@ -144,9 +144,9 @@ The total cost of a transaction is the product of the gas limit and gas price: Tx \, fee = gas \, limit \times gas \, price ``` -ADAMANT apps estimate gas limit and gas price using [web3](https://github.com/web3/web3.js) library. To make sure the Ethereum blockchain will include the tx, these estimates must be multiplied by `reliabilityGasLimitPercent` and `reliabilityGasPricePercent`. +ADAMANT apps estimate gas limit and gas price using [web3](https://github.com/web3/web3.js) library. To ensure the Ethereum blockchain will accept the tx, apps multiply these estimates by `reliabilityGasLimitPercent` and `reliabilityGasPricePercent`. Additionally, an pp may offer the "Increase fee" option to use the `increasedGasPricePercent` koef. -If it’s not possible to get estimates, apps will use `defaultGasLimit` and `defaultGasPriceGwei`. When gas price is higher than `warningGasPriceGwei`, apps will show a note/warning. +If it’s not possible to get estimates, apps will use `defaultGasLimit` and `defaultGasPriceGwei`. When the gas price exceeds `warningGasPriceGwei`, apps show a note/warning. These parameters are set inside `general\ethereum\info.json` and may be overridden by `blockchains\ethereum\info.json` and specific tokens. diff --git a/assets/general/ethereum/info.json b/assets/general/ethereum/info.json index a3cb2e14..0370fdf6 100644 --- a/assets/general/ethereum/info.json +++ b/assets/general/ethereum/info.json @@ -28,9 +28,10 @@ "txConsistencyMaxTime": 1200000, "reliabilityGasPricePercent": 10, "reliabilityGasLimitPercent": 10, - "defaultGasPriceGwei": 30, + "increasedGasPricePercent": 30, + "defaultGasPriceGwei": 10, "defaultGasLimit": 22000, - "warningGasPriceGwei": 70, + "warningGasPriceGwei": 25, "nodes": { "list": [ { From 5e2161d307ad41a00ae23caa5d2d0b65ffad90b9 Mon Sep 17 00:00:00 2001 From: adamant-al Date: Fri, 30 Aug 2024 15:28:31 +0400 Subject: [PATCH 19/32] fix: typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f966507..7bc03065 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ The total cost of a transaction is the product of the gas limit and gas price: Tx \, fee = gas \, limit \times gas \, price ``` -ADAMANT apps estimate gas limit and gas price using [web3](https://github.com/web3/web3.js) library. To ensure the Ethereum blockchain will accept the tx, apps multiply these estimates by `reliabilityGasLimitPercent` and `reliabilityGasPricePercent`. Additionally, an pp may offer the "Increase fee" option to use the `increasedGasPricePercent` koef. +ADAMANT apps estimate gas limit and gas price using [web3](https://github.com/web3/web3.js) library. To ensure the Ethereum blockchain will accept the tx, apps multiply these estimates by `reliabilityGasLimitPercent` and `reliabilityGasPricePercent`. Additionally, an app may offer the "Increase fee" option to use the `increasedGasPricePercent` koef. If it’s not possible to get estimates, apps will use `defaultGasLimit` and `defaultGasPriceGwei`. When the gas price exceeds `warningGasPriceGwei`, apps show a note/warning. From 1063b7eb806e792986a849005a137032a820019c Mon Sep 17 00:00:00 2001 From: confleux Date: Tue, 10 Sep 2024 20:16:55 +0300 Subject: [PATCH 20/32] feat: add klynode3, klyservice3 --- assets/general/klayr/info.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/assets/general/klayr/info.json b/assets/general/klayr/info.json index aa17248d..cea7f0d7 100644 --- a/assets/general/klayr/info.json +++ b/assets/general/klayr/info.json @@ -36,6 +36,10 @@ { "url": "https://klynode2.adamant.im", "alt_ip": "http://109.176.199.130:44099" + }, + { + "url": "https://klynode3.adm.im", + "alt_ip": "http://37.27.205.78:44099" } ], "healthCheck": { @@ -60,6 +64,10 @@ { "url": "https://klyservice2.adamant.im", "alt_ip": "http://109.176.199.130:44098" + }, + { + "url": "https://klyservice3.adm.im", + "alt_ip": "http://37.27.205.78:44098" } ] }, @@ -91,6 +99,9 @@ }, { "url": "http://5fr7uybpxecid5gikrm65hstsfhve2772keyqdvxirsiywlyo6zap6yd.onion" + }, + { + "url": "http://5rmyjfvazkg5gcyo3gwvdinykvycsleeebumdm6zlj6dhf6gshpelfid.onion" } ], "healthCheck": { @@ -113,6 +124,9 @@ }, { "url": "http://3om4mobnbppxuexwufprp4cle4fivstooqqap6yoll5qk3kikesmqgad.onion" + }, + { + "url": "http://xif2b7cchtn27aq2qypjc6p3phamrt4fdc3gbl5e6kk2fw3ypovre5id.onion" } ] }, From 7d523d20791f54423f05d0cc2e825497b7eff87e Mon Sep 17 00:00:00 2001 From: confleux Date: Thu, 12 Sep 2024 14:41:29 +0300 Subject: [PATCH 21/32] chore: restructure services --- assets/general/adamant/info.json | 80 +++++++++------ assets/general/bitcoin/info.json | 52 +++++----- assets/general/ethereum/info.json | 52 +++++----- assets/general/klayr/info.json | 26 ++--- specification/openapi.json | 157 +++++++++++++++++------------- 5 files changed, 207 insertions(+), 160 deletions(-) diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index a885f787..76126bc3 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -70,13 +70,13 @@ "minVersion": "0.8.0" }, "services": { - "description": { - "software": "adamant-currencyinfo-services", - "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", - "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" - }, - "list": { - "infoService": [ + "infoService": { + "description": { + "software": "adamant-currencyinfo-services", + "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", + "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" + }, + "list": [ { "url": "https://info.adamant.im", "alt_ip": "http://88.198.156.44:44099" @@ -86,7 +86,19 @@ "alt_ip": "http://207.180.210.95:33088" } ], - "ipfsNode": [ + "healthCheck": { + "normalUpdateInterval": 300000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } + }, + "ipfsNode": { + "description": { + "software": "ipfs-node", + "github": "https://github.com/Adamant-im/ipfs-node", + "docs": "https://github.com/Adamant-im/ipfs-node/blob/master/README.md" + }, + "list": [ { "url": "https://ipfs4.adm.im", "alt_ip": "http://95.216.45.88:44099" @@ -99,12 +111,12 @@ "url": "https://ipfs6.adamant.business", "alt_ip": "http://75.119.138.235:44099" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 300000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 300000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } }, "links": [ @@ -159,18 +171,30 @@ "minVersion": "0.8.0" }, "services": { - "description": { - "software": "adamant-currencyinfo-services", - "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", - "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" - }, - "list": { - "infoService": [ + "infoService": { + "description": { + "software": "adamant-currencyinfo-services", + "github": "https://github.com/Adamant-im/adamant-currencyinfo-services", + "docs": "https://github.com/Adamant-im/adamant-currencyinfo-services/wiki/InfoServices-API-documentation" + }, + "list": [ { "url": "http://czjsawp2crjmnkliw2h2kpk7wwd3a36zvvnvqgvzmi4t4vc2yzm7j2qd.onion" } ], - "ipfsNode": [ + "healthCheck": { + "normalUpdateInterval": 300000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } + }, + "ipfsNode": { + "description": { + "software": "ipfs-node", + "github": "https://github.com/Adamant-im/ipfs-node", + "docs": "https://github.com/Adamant-im/ipfs-node/blob/master/README.md" + }, + "list": [ { "url": "http://z455rax4mwcseyc7efog7czrbwdvphwocatl5sjcc6htcoj2k2vz7dad.onion" }, @@ -180,12 +204,12 @@ { "url": "http://3ytwoe62bqw264v4rkaqpn5iovdg3oxly5tx2uc5qijkrdqixm6tmdyd.onion" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 300000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 300000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index 29626b9d..781f3dd1 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -47,13 +47,13 @@ } }, "services": { - "description": { - "software": "Esplora/Electrs", - "github": "https://github.com/blockstream/electrs", - "docs": "https://github.com/blockstream/esplora/blob/master/API.md" - }, - "list": { - "btcIndexer": [ + "btcIndexer": { + "description": { + "software": "Esplora/Electrs", + "github": "https://github.com/blockstream/electrs", + "docs": "https://github.com/blockstream/esplora/blob/master/API.md" + }, + "list": [ { "url": "https://btcnode1.adamant.im", "alt_ip": "http://176.9.38.204:44099" @@ -62,12 +62,12 @@ "url": "https://btcnode3.adamant.im", "alt_ip": "http://195.201.242.108:44099" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } }, "links": [ @@ -106,25 +106,25 @@ } }, "services": { - "description": { - "software": "Esplora/Electrs", - "github": "https://github.com/blockstream/electrs", - "docs": "https://github.com/blockstream/esplora/blob/master/API.md" - }, - "list": { - "btcIndexer": [ + "btcIndexer": { + "description": { + "software": "Esplora/Electrs", + "github": "https://github.com/blockstream/electrs", + "docs": "https://github.com/blockstream/esplora/blob/master/API.md" + }, + "list": [ { "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" }, { "url": "http://grnpvgtlrfws3424l726td5lctsod3hq2at4lhiasmedpxygbo5u2bqd.onion" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } diff --git a/assets/general/ethereum/info.json b/assets/general/ethereum/info.json index 9cef532a..aa256d0d 100644 --- a/assets/general/ethereum/info.json +++ b/assets/general/ethereum/info.json @@ -51,13 +51,13 @@ } }, "services": { - "description": { - "software": "ETH-transactions-storage", - "github": "https://github.com/Adamant-im/ETH-transactions-storage", - "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" - }, - "list": { - "ethIndexer": [ + "ethIndexer": { + "description": { + "software": "ETH-transactions-storage", + "github": "https://github.com/Adamant-im/ETH-transactions-storage", + "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" + }, + "list": [ { "url": "https://ethnode2.adamant.im", "alt_ip": "http://95.216.114.252:44099" @@ -66,12 +66,12 @@ "url": "https://ethnode3.adamant.im", "alt_ip": "http://46.4.37.157:44099" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } }, "links": [ @@ -111,25 +111,25 @@ } }, "services": { - "description": { - "software": "ETH-transactions-storage", - "github": "https://github.com/Adamant-im/ETH-transactions-storage", - "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" - }, - "list": { - "ethIndexer": [ + "ethIndexer": { + "description": { + "software": "ETH-transactions-storage", + "github": "https://github.com/Adamant-im/ETH-transactions-storage", + "docs": "https://github.com/Adamant-im/ETH-transactions-storage?tab=readme-ov-file#api-request-examples" + }, + "list": [ { "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion" }, { "url": "http://rekynxikhumzsme7phumocz3mquy7y3onkw33skmvk2akjkin2iopqqd.onion" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } diff --git a/assets/general/klayr/info.json b/assets/general/klayr/info.json index aa17248d..1b890733 100644 --- a/assets/general/klayr/info.json +++ b/assets/general/klayr/info.json @@ -46,13 +46,13 @@ } }, "services": { - "description": { - "software": "klayr-service", - "github": "https://github.com/KlayrHQ/klayr-service", - "docs": "https://klayr.xyz/documentation/klayr-service" - }, - "list": { - "klyService": [ + "klyService": { + "description": { + "software": "klayr-service", + "github": "https://github.com/KlayrHQ/klayr-service", + "docs": "https://klayr.xyz/documentation/klayr-service" + }, + "list": [ { "url": "https://klyservice1.adamant.im", "alt_ip": "http://195.26.255.137:44098" @@ -61,12 +61,12 @@ "url": "https://klyservice2.adamant.im", "alt_ip": "http://109.176.199.130:44098" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } }, "links": [ diff --git a/specification/openapi.json b/specification/openapi.json index f82d20ea..73a8e6bf 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -9,7 +9,9 @@ "schemas": { "NodeInfo": { "type": "object", - "required": ["url"], + "required": [ + "url" + ], "properties": { "url": { "type": "string" @@ -49,43 +51,46 @@ } } }, - "ServiceHealthcheck": { + "ProjectLink": { "type": "object", "required": [ - "normalUpdateInterval", - "crucialUpdateInterval", - "onScreenUpdateInterval" + "name", + "url" ], "properties": { - "normalUpdateInterval": { - "type": "integer", - "description": "Regular node status update interval in ms" - }, - "crucialUpdateInterval": { - "type": "integer", - "description": "Node status update interval when there are no active nodes, in ms" + "name": { + "type": "string" }, - "onScreenUpdateInterval": { - "type": "integer", - "description": "On the node screen, the status update interval in ms" + "url": { + "type": "string" } } }, - "ProjectLink": { + "Service": { "type": "object", - "required": ["name", "url"], + "required": [ + "description", + "list", + "healthCheck" + ], "properties": { - "name": { - "type": "string" + "description": { + "$ref": "#/components/schemas/ServiceDescription" }, - "url": { - "type": "string" + "list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceAddress" + } + }, + "healthCheck": { + "$ref": "#/components/schemas/ServiceHealthcheck" } } }, - "Service": { + "ServiceAddress": { "type": "object", - "required": ["url"], + "description": "Service node address", "properties": { "url": { "type": "string" @@ -97,7 +102,9 @@ }, "ServiceDescription": { "type": "object", - "required": ["software"], + "required": [ + "software" + ], "description": "Service node description", "properties": { "software": { @@ -111,6 +118,28 @@ } } }, + "ServiceHealthcheck": { + "type": "object", + "required": [ + "normalUpdateInterval", + "crucialUpdateInterval", + "onScreenUpdateInterval" + ], + "properties": { + "normalUpdateInterval": { + "type": "integer", + "description": "Regular node status update interval in ms" + }, + "crucialUpdateInterval": { + "type": "integer", + "description": "Node status update interval when there are no active nodes, in ms" + }, + "onScreenUpdateInterval": { + "type": "integer", + "description": "On the node screen, the status update interval in ms" + } + } + }, "TokenGeneral": { "type": "object", "required": [ @@ -171,7 +200,10 @@ }, "type": { "type": "string", - "enum": ["coin", "ERC20"], + "enum": [ + "coin", + "ERC20" + ], "description": "Coin or token mainly" }, "decimals": { @@ -204,7 +236,10 @@ }, "status": { "type": "string", - "enum": ["active", "disabled"], + "enum": [ + "active", + "disabled" + ], "description": "Should the coin be processed" }, "createCoin": { @@ -262,7 +297,10 @@ }, "nodes": { "type": "object", - "required": ["list", "healthCheck"], + "required": [ + "list", + "healthCheck" + ], "properties": { "list": { "type": "array", @@ -283,25 +321,9 @@ }, "services": { "type": "object", - "required": ["list", "healthCheck"], "properties": { - "description": { - "$ref": "#/components/schemas/ServiceDescription" - }, - "list": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Service" - }, - "description": "Service node links for API" - }, - "healthCheck": { - "$ref": "#/components/schemas/ServiceHealthcheck" - }, - "minVersion": { - "type": "string", - "description": "Minimal service node API version", - "example": "1.0.0" + "service": { + "$ref": "#/components/schemas/Service" } } }, @@ -333,7 +355,10 @@ }, "nodes": { "type": "object", - "required": ["list", "healthCheck"], + "required": [ + "list", + "healthCheck" + ], "properties": { "list": { "type": "array", @@ -354,25 +379,9 @@ }, "services": { "type": "object", - "required": ["list"], "properties": { - "description": { - "$ref": "#/components/schemas/ServiceDescription" - }, - "list": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Service" - }, - "description": "Service node links for API" - }, - "healthCheck": { - "$ref": "#/components/schemas/ServiceHealthcheck" - }, - "minVersion": { - "type": "string", - "description": "Minimal service node API version", - "example": "1.0.0" + "service": { + "$ref": "#/components/schemas/Service" } } }, @@ -389,7 +398,13 @@ }, "TokenAsset": { "type": "object", - "required": ["name", "symbol", "status", "contractId", "decimals"], + "required": [ + "name", + "symbol", + "status", + "contractId", + "decimals" + ], "properties": { "name": { "type": "string", @@ -401,7 +416,10 @@ }, "status": { "type": "string", - "enum": ["active", "disabled"], + "enum": [ + "active", + "disabled" + ], "description": "Should the coin be processed" }, "contractId": { @@ -424,7 +442,12 @@ }, "Blockchain": { "type": "object", - "required": ["blockchain", "type", "mainCoin", "fees"], + "required": [ + "blockchain", + "type", + "mainCoin", + "fees" + ], "properties": { "blockchain": { "type": "string", From 120c1e2bc1fced002dfc13c1c08a0e2a62319a94 Mon Sep 17 00:00:00 2001 From: adamant-al Date: Fri, 13 Sep 2024 17:35:44 +0400 Subject: [PATCH 22/32] feat: introduce `messages` params --- README.md | 22 ++++++++++++++++++++-- assets/general/adamant/info.json | 4 ++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5fb49914..a3aa1968 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain "alt_ip": "0.0.0.1:36666" // Alternative way to connect if the domain of a node is censored } ], - // Node health сheck information + // Node health check information "healthCheck": { "normalUpdateInterval": 210000, // Regular node status update interval in ms "crucialUpdateInterval": 30000, // Node status update interval when there are no active nodes, in ms @@ -105,7 +105,7 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain } ] }, - // Optional: Service health сheck information (If not filled here, information is retrieved from nodes.healthCheck) + // Optional: Service health check information (If not filled here, information is retrieved from nodes.healthCheck) "healthCheck": { "normalUpdateInterval": 210000, // Regular service status update interval in ms "crucialUpdateInterval": 30000, // Service status update interval when there are no active services, in ms @@ -193,6 +193,24 @@ const isNew = (admTransferTimestamp) => newPendingTxFetchAttempts * newPendingTxFetchInterval; ``` +### Message sending + +Users can request to send messages even when they are offline. An app will attempt to send a message for a specific timeout period, allowing time for the Internet connection to restore. If the message still cannot be sent, the status will change from “Pending” to “Failed”. Users can then manually retry sending the message or choose to cancel it. + +For in-chat coin transfers, there is no timeout. An app will continuously retry sending these messages until successful. However, before sending cryptocurrency in chats, the app checks the availability of all nodes, ensuring both the nodes and the UI process the transaction correctly. + +To assist apps in setting message sending parameters, additional fields are introduced: + +```jsonc +{ + // ... + "messages": { + "messageTimeout": 300000, // Timeout for regular messages (in milliseconds) + "filesTimeout": 100000, // Timeout for file transfers (in milliseconds) + }, +} +``` + ## Icons Coin icons/images files are stored `\general\${token_name}\images` folders. diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 0b6f1790..60b6cf8b 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -24,6 +24,10 @@ "oldPendingInterval": 4000, "registeredInterval": 4000 }, + "messages": { + "messageTimeout": 300000, + "filesTimeout": 300000 + }, "nodes": { "list": [ { "url": "https://clown.adamant.im" }, From f802b56201a817de1e39b2cfd1bc070e5e4d9893 Mon Sep 17 00:00:00 2001 From: confleux Date: Tue, 17 Sep 2024 17:23:23 +0300 Subject: [PATCH 23/32] chore: remove klynode1, klyservice1 --- assets/general/klayr/info.json | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/assets/general/klayr/info.json b/assets/general/klayr/info.json index cea7f0d7..fbf9e94a 100644 --- a/assets/general/klayr/info.json +++ b/assets/general/klayr/info.json @@ -29,10 +29,6 @@ "txConsistencyMaxTime": 60000, "nodes": { "list": [ - { - "url": "https://klynode1.adamant.im", - "alt_ip": "http://195.26.255.137:44099" - }, { "url": "https://klynode2.adamant.im", "alt_ip": "http://109.176.199.130:44099" @@ -57,10 +53,6 @@ }, "list": { "klyService": [ - { - "url": "https://klyservice1.adamant.im", - "alt_ip": "http://195.26.255.137:44098" - }, { "url": "https://klyservice2.adamant.im", "alt_ip": "http://109.176.199.130:44098" @@ -94,9 +86,6 @@ "tor": { "nodes": { "list": [ - { - "url": "http://7kmdhr3x3hpy7kg3gojxznypgzcya7yxpte4zz42wtljhulg5mrzkpad.onion" - }, { "url": "http://5fr7uybpxecid5gikrm65hstsfhve2772keyqdvxirsiywlyo6zap6yd.onion" }, @@ -119,9 +108,6 @@ }, "list": { "klyService": [ - { - "url": "http://673swmi7y4cdsqw7rhl52mypuixfh5tryxjt4vzhaoy7my572ldidfad.onion" - }, { "url": "http://3om4mobnbppxuexwufprp4cle4fivstooqqap6yoll5qk3kikesmqgad.onion" }, From a8812655454fb6a3cd34b8fc2c197600ee48d1d1 Mon Sep 17 00:00:00 2001 From: confleux Date: Tue, 17 Sep 2024 17:35:20 +0300 Subject: [PATCH 24/32] chore: update README --- README.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 5fb49914..9b217872 100644 --- a/README.md +++ b/README.md @@ -91,27 +91,31 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain // Optional. Services related to a project "services": { - "list": { + "service1": { "description": { "software": "example-service", "github": "https://github.com/--example", "docs": "https://docs.example.com" // API docs }, - "infoService": [ - { "url": "https://info.example.com" }, + "list": [ + { + "url": "https://info.example.com", + }, { "url": "https://second-service.example.com", "alt_ip": "0.0.0.1:80" // Alternative way to connect if the domain of a service is censored } - ] - }, - // Optional: Service health сheck information (If not filled here, information is retrieved from nodes.healthCheck) - "healthCheck": { - "normalUpdateInterval": 210000, // Regular service status update interval in ms - "crucialUpdateInterval": 30000, // Service status update interval when there are no active services, in ms - "onScreenUpdateInterval": 10000 // On the node screen, the status update interval in ms + ], + // Optional: Service health сheck information (If not filled here, information is retrieved from nodes.healthCheck) + "healthCheck": { + "normalUpdateInterval": 210000, // Regular service status update interval in ms + "crucialUpdateInterval": 30000, // Service status update interval when there are no active services, in ms + "onScreenUpdateInterval": 10000 // On the node screen, the status update interval in ms + }, }, - "minVersion": "1.0.0", // Optional. Minimal supported service API version + "service2": { + /*...*/ + } }, // Optional. Additional project links From 99c97ac6f3b930507e871bb9fb35e83147bc3bd0 Mon Sep 17 00:00:00 2001 From: confleux Date: Tue, 17 Sep 2024 17:44:34 +0300 Subject: [PATCH 25/32] chore: update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b217872..4fb81fd6 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain "crucialUpdateInterval": 30000, // Service status update interval when there are no active services, in ms "onScreenUpdateInterval": 10000 // On the node screen, the status update interval in ms }, + "minVersion": "1.0.0", // Optional. Minimal supported service API version }, "service2": { /*...*/ From 1517848f1aa16071b27fea70c6121caf88804d73 Mon Sep 17 00:00:00 2001 From: confleux Date: Tue, 17 Sep 2024 17:51:02 +0300 Subject: [PATCH 26/32] fix: README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fb81fd6..b0540b4a 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain "name": "whitepaper", "url": "https://example.com/whitepaper.pdf" } - ] + ], // Optional. Tor configuration if a project uses Tor // It follows the same structure as the root properties From f0f2a66356201c68e9f73a7b52cfe1a796048a85 Mon Sep 17 00:00:00 2001 From: bludnic Date: Tue, 17 Sep 2024 20:23:22 +0100 Subject: [PATCH 27/32] refactor(OpenAPI): reuse `NodeInfo` in services --- specification/openapi.json | 73 +++++++------------------------------- 1 file changed, 12 insertions(+), 61 deletions(-) diff --git a/specification/openapi.json b/specification/openapi.json index 73a8e6bf..b3e2a8b7 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -9,9 +9,7 @@ "schemas": { "NodeInfo": { "type": "object", - "required": [ - "url" - ], + "required": ["url"], "properties": { "url": { "type": "string" @@ -53,10 +51,7 @@ }, "ProjectLink": { "type": "object", - "required": [ - "name", - "url" - ], + "required": ["name", "url"], "properties": { "name": { "type": "string" @@ -68,11 +63,7 @@ }, "Service": { "type": "object", - "required": [ - "description", - "list", - "healthCheck" - ], + "required": ["description", "list", "healthCheck"], "properties": { "description": { "$ref": "#/components/schemas/ServiceDescription" @@ -80,7 +71,7 @@ "list": { "type": "array", "items": { - "$ref": "#/components/schemas/ServiceAddress" + "$ref": "#/components/schemas/NodeInfo" } }, "healthCheck": { @@ -88,23 +79,9 @@ } } }, - "ServiceAddress": { - "type": "object", - "description": "Service node address", - "properties": { - "url": { - "type": "string" - }, - "alt_ip": { - "type": "string" - } - } - }, "ServiceDescription": { "type": "object", - "required": [ - "software" - ], + "required": ["software"], "description": "Service node description", "properties": { "software": { @@ -200,10 +177,7 @@ }, "type": { "type": "string", - "enum": [ - "coin", - "ERC20" - ], + "enum": ["coin", "ERC20"], "description": "Coin or token mainly" }, "decimals": { @@ -236,10 +210,7 @@ }, "status": { "type": "string", - "enum": [ - "active", - "disabled" - ], + "enum": ["active", "disabled"], "description": "Should the coin be processed" }, "createCoin": { @@ -297,10 +268,7 @@ }, "nodes": { "type": "object", - "required": [ - "list", - "healthCheck" - ], + "required": ["list", "healthCheck"], "properties": { "list": { "type": "array", @@ -355,10 +323,7 @@ }, "nodes": { "type": "object", - "required": [ - "list", - "healthCheck" - ], + "required": ["list", "healthCheck"], "properties": { "list": { "type": "array", @@ -398,13 +363,7 @@ }, "TokenAsset": { "type": "object", - "required": [ - "name", - "symbol", - "status", - "contractId", - "decimals" - ], + "required": ["name", "symbol", "status", "contractId", "decimals"], "properties": { "name": { "type": "string", @@ -416,10 +375,7 @@ }, "status": { "type": "string", - "enum": [ - "active", - "disabled" - ], + "enum": ["active", "disabled"], "description": "Should the coin be processed" }, "contractId": { @@ -442,12 +398,7 @@ }, "Blockchain": { "type": "object", - "required": [ - "blockchain", - "type", - "mainCoin", - "fees" - ], + "required": ["blockchain", "type", "mainCoin", "fees"], "properties": { "blockchain": { "type": "string", From 9c30a9631e9e1855ee149913c68cb2db503b031e Mon Sep 17 00:00:00 2001 From: bludnic Date: Tue, 17 Sep 2024 20:30:38 +0100 Subject: [PATCH 28/32] fix(services): fix type to `Record` --- specification/openapi.json | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/specification/openapi.json b/specification/openapi.json index b3e2a8b7..cb73e4e0 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -289,10 +289,8 @@ }, "services": { "type": "object", - "properties": { - "service": { - "$ref": "#/components/schemas/Service" - } + "additionalProperties": { + "$ref": "#/components/schemas/Service" } }, "links": { @@ -344,10 +342,8 @@ }, "services": { "type": "object", - "properties": { - "service": { - "$ref": "#/components/schemas/Service" - } + "additionalProperties": { + "$ref": "#/components/schemas/Service" } }, "links": { From 64749be794629c9a89dc21e2d51aaa713a590e80 Mon Sep 17 00:00:00 2001 From: bludnic Date: Tue, 17 Sep 2024 20:43:30 +0100 Subject: [PATCH 29/32] fix(Klayr): fix `services` structure in Tor config --- assets/general/klayr/info.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/general/klayr/info.json b/assets/general/klayr/info.json index cab54b64..45b2a7d5 100644 --- a/assets/general/klayr/info.json +++ b/assets/general/klayr/info.json @@ -101,25 +101,25 @@ } }, "services": { - "description": { - "software": "klayr-service", - "github": "https://github.com/KlayrHQ/klayr-service", - "docs": "https://klayr.xyz/documentation/klayr-service" - }, - "list": { - "klyService": [ + "klyService": { + "description": { + "software": "klayr-service", + "github": "https://github.com/KlayrHQ/klayr-service", + "docs": "https://klayr.xyz/documentation/klayr-service" + }, + "list": [ { "url": "http://3om4mobnbppxuexwufprp4cle4fivstooqqap6yoll5qk3kikesmqgad.onion" }, { "url": "http://xif2b7cchtn27aq2qypjc6p3phamrt4fdc3gbl5e6kk2fw3ypovre5id.onion" } - ] - }, - "healthCheck": { - "normalUpdateInterval": 330000, - "crucialUpdateInterval": 30000, - "onScreenUpdateInterval": 10000 + ], + "healthCheck": { + "normalUpdateInterval": 330000, + "crucialUpdateInterval": 30000, + "onScreenUpdateInterval": 10000 + } } } } From 1e98fe0fd9368949c9aa080f49aba5fb7e47bb58 Mon Sep 17 00:00:00 2001 From: bludnic Date: Wed, 18 Sep 2024 16:07:38 +0100 Subject: [PATCH 30/32] refactor(adamant): update timeout object structure --- README.md | 6 +++--- assets/general/adamant/info.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a3aa1968..847f8457 100644 --- a/README.md +++ b/README.md @@ -204,9 +204,9 @@ To assist apps in setting message sending parameters, additional fields are intr ```jsonc { // ... - "messages": { - "messageTimeout": 300000, // Timeout for regular messages (in milliseconds) - "filesTimeout": 100000, // Timeout for file transfers (in milliseconds) + "timeout": { + "message": 300000, // Timeout for regular messages (in milliseconds) + "attachment": 100000, // Timeout for file transfers (in milliseconds) }, } ``` diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 60b6cf8b..5413d82d 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -24,9 +24,9 @@ "oldPendingInterval": 4000, "registeredInterval": 4000 }, - "messages": { - "messageTimeout": 300000, - "filesTimeout": 300000 + "timeout": { + "message": 300000, + "attachment": 300000 }, "nodes": { "list": [ From 7b92f0836f21022c86bd9032ddb910686ff0a3b1 Mon Sep 17 00:00:00 2001 From: bludnic Date: Wed, 18 Sep 2024 16:17:37 +0100 Subject: [PATCH 31/32] feat(OpenAPI): add message timeouts to schema --- specification/openapi.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/specification/openapi.json b/specification/openapi.json index f82d20ea..e88a490e 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -111,6 +111,21 @@ } } }, + "MessageTimeout": { + "type": "object", + "description": "Timeouts when sending messages in chat. See [README.md](https://github.com/Adamant-im/adamant-wallets/blob/master/README.md#message-sending) for details.", + "required": ["message", "attachment"], + "properties": { + "message": { + "type": "string", + "description": "Timeout for regular messages (in milliseconds)" + }, + "attachment": { + "type": "integer", + "description": "Timeout for file transfers (in milliseconds)" + } + } + }, "TokenGeneral": { "type": "object", "required": [ @@ -256,6 +271,9 @@ } } }, + "timeout": { + "$ref": "#/components/schemas/MessageTimeout" + }, "txConsistencyMaxTime": { "type": "integer", "description": "Time in ms when difference between in-chat transfer and Tx timestamp considered as acceptable" From 22293dafd7e957b38e45598a3f9a48d67dee7885 Mon Sep 17 00:00:00 2001 From: aineo <124525926+aineo@users.noreply.github.com> Date: Thu, 19 Sep 2024 14:07:47 +0300 Subject: [PATCH 32/32] fix: change DOGE icon --- assets/general/doge/images/doge_wallet.png | Bin 7757 -> 1493 bytes assets/general/doge/images/doge_wallet@2x.png | Bin 22106 -> 2711 bytes assets/general/doge/images/doge_wallet@3x.png | Bin 37813 -> 3923 bytes assets/general/doge/images/icon.svg | 52 ++++++++---------- assets/general/doge/images/icon.vue | 22 ++++---- 5 files changed, 34 insertions(+), 40 deletions(-) diff --git a/assets/general/doge/images/doge_wallet.png b/assets/general/doge/images/doge_wallet.png index 811c2e4dd482cbbf985e2f95f6a78ac55a4f8e96..c6c2fc33cdefada09b4ffac0a765233c4679c8e4 100644 GIT binary patch delta 1455 zcmV;g1yK6UJk<-3IDY^Eb5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1pojAYDq*vRCoc^ znq5-kMi9rlXSA?+ijLr%00Wz+)Pj71kjfJfD(e$~Pk?g**b~4Ofqeu{U>Wiju(c;x za|7oQur%o&Y?nVqMk8Cc_*GHH)>xj_%=G-bdk|(!?WE|+C4blg>8wDc3JO#a6}o`n z_8Tc^D})vTv_W71QKue0LQpCPEtnw)Gk^_p-iv*u(4)5=q(lJ(7^yGeb96NeL#HzC z_N?eBDGy-^gC=l=VfgvuUf@GYQW;k}FBT=rBgn?6QT*^RETM?O&{MH!nkf2{|VO_^q^a ze`UI6G)_AYUSs*0ij!!QlUX%68RMGMUh!=h#<<*H-hZY>FF2zg+#TJG1de<9KtY@e?Rj<{1Dfkr*8fzV92yA{geQ6=T`hZJe@^ z6kS-!tbYN#+Sv!M_oi9y@+BjZo^pZ%@%nP2XDM!%j zc~0#uH7wg6cT-v+y>BR>-^wbp6 zk&85}PXur}=;;PYGkS7KYzZZl2RVT}oq3<_bONx1qM4$g`MCo5pA~|J(Z%8UB{LkDbdH{C);}=|-HLl@v4~#dWd)W2U zb$_M_ZJcH0{qlSBVN#pTo#rRg=k<%#Q!?5#N(EDU8i}^8afuQ{xd6#HOWuxg%6^79 z@G{(~re^06{rbgP_Z?nu?%a=Mq)hTlw|*&(m@tkIxpvpmHMD8XDY_Y^GHxiiMEEhL znQII}<9izC@~!$vs;foQ60JALETK_0x_^Az{g}&RLMinCIU>TyoQG6)`j;P)u-^GI zgr?Hx()M_Yjzn$bkO5}-g>6zC0sZi|=s7wql^d}ebecRWg8IU*+PLT`I)A2s z@enc~PJSgp2hs|wU`dECOHC`3MNdr=1I11&XtTfWIi~AG~ z<5K1-W(wy$c#TO+UB&ggc4&qQA(U&cP)fQ9b4DNec<1~|9r&bF`VfrV|4^-BOySkf z*N+h)P4>A(uF+52nl@!}*#&$FmVc+t2I%dCGu1;sF@jEsEsN%~6_k1sJD{S)5#$aw>~7*Ql0=bv?QDHZ3OLEbApl-uJQXL6SdZjqzrGd=lz)4#Ez*m! zS7hfAx5h@XPRG{IKU5J_CL((h9LPqGVYRD+6Orz`C5@s~`fz{;+2e;Qtdw>G>x{uv zCuO;4L6sR+Gg(w-eHQbBTG5uNjO(FCG89{iDzsA`obgFU)uX4*vCZ_0VkpAq0X*qL+cQ-~{{v8|DM;kr>HYu!002ov JPDHLkV1nc-wgLbE literal 7757 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

}3R?zG~=8+AAy;s8H) zYea>)V7K3PSgn5p8!7h^qWuuM&zZo!hV`re0DCf;!PaDA#UOy1qZ-C?>%B=GZcdlt zHZgRQ%ExtL?%FwnkaIWawMi=QX3<8W6#>%|OBJ|9hH;zn@ftn9 zD42(jx zpE&j|v`f8ZvBP5}!3ieu8VsC_#MhsWlI$vRV@iw9u9xEKm>eomAo5e((4gImu8KpH zx1ktqiNfiMa5R~YW2z?yS0|`vB&VDg9Fc)DEHieC^>b?6oH0`JYl)RSYLn7&?o1lacc#>)?o-q*D&l?GxSpdl-$^N!LHS#@ry`H-NYN-uch_Mcu!ppL3Q7LhtUe)6vKwor~ z2cepV*ZM~z&@)qkNg4Rk@;sMH^W3wh!q{_03F}l^BJijC{rKQg8SSH&}j=)n6lnxlQt8CUSYaNRZ^UDHF9= zluvnfXeWl+2$(T-CnRAT2%NpZU`?I_P856 z8|RC#Fp@{syaz2>U+UV$`0{oGKA1J&-W&@f?#$@${&X?!&gulv_b-(QU_V|k=d@cnHKN^!(nuiR4JRMkX{j zkb~a3Vr(?Sy&)_vE=HNmB0jk0pw|!hHj-j1sSuB0t-kQ)D{IV-Bu<;>5XJ zxtSkq3CHaVI$R!>ktFjm-JOR1>M+!4Jke1eioxbsnw&+r#HIi;mGO=w^wu9ohb0sz z$t3EEd{HX3M`gYndg>#{a1??p&vj>02P3EF`GPFR+LKU2c~c?v#PG>@%3FF*uMCsj zxtQn_Q5%s3h~r!ZpUJ>vXXX>Zz>SmRGJxl)@L%Yc2ok(BLFHtu zfXanNV3~nyF9}5{fvYZX=DTa$c(%^t2UbFt=jmfqkn_v@$^8R_;PNwFgeb^z<=9Ul zR5|V(`_)4DzLhA?w?V7PjwF|c>ty*$;1&T&$OVfiA5KvI1!AHl8Y7JnXf4@;`a&PH z7=mztYThhKkS+LWK+gaq7THFy&s?4?5<;0{#VE)w}W0yk4kbOTdB;ahYrd=$B3W`gxiU7qicExGL0u@4#KqY!TJKMGsnp14L#$W_7rFY)-A z&l9MS-ka0m!#OQ~k?enAM79{j;2A;t1 z1WpK&DS!83F@KiWtEEPl<=SX_3V)$b!cTUJcmgH_ff25hTm0DRG>UYda)>9#kO^QICpwRK6<>`N3Qvu~ziMz%k|mxI&p9S16@KRRz787Po#rEbw)-S482%{ zDJ4JORdbwYvLpa3=?O@-z|`b2I0h`8CmHf2J^u1UAy4un04gD#0XDkG*!7F0JmnZ~ zN!`k~=X>+&BwOL;es;>1OU68(e>N!CFPs9o!fYP`=l%V`6;g6)a|jsweI+HPHq(_F| zcSHey<$|7{?#<$ROZO97?npiIF2WD3Kwi2{jXulmr$reaoIcN&(<%IkIj`@@T&5i- z%dq3rNp_qjfv$;*j|<{#xcpcfu7nDsN$%+zedw(_;d|etTIhh@nu7!~f}dzRM!9#4 z@2uFvkF>@K;8-x3GKQYcsYRAl0$|4GJpKL3WD$R7-o)RYDdu}>qj{=Th&r?yi4p7W zniQUX1{%+b5*;~xiW66y>dfgVij$p$D{CRy?eFgdSCFuaQ^!-BSd4;r8v$s8W4EAm-2-s$p;N>RcyfL5|DM%=Eo=^!>V20+#H!9NHuY z;kEA%E|JQ?30qE`uow)ShQQUU_i-lLJ$X9q7%P+wVeN~oycBLlpcP3>pwT2E{34L#^dM~FJ*mC4_#2yRb@eg9|1>ou)f|I2=kURsp zs)9Y7k~$k>p7&2oa&Pa<6I)EtA#dG^3V9pJ;Tw=0zYUV4T~KGcp;+n*gFFCwk{WeG zkS6a!M$~5EH_ov%YQ=@Eye*2`RBBRqdz%!#Khe|wZ!bN@m8*7h;#6A!Tus4$5jZn7 zs1{|Q(7K&5M{pMUVo91EJ8=3@QLgJ6lI=cm;?_J-tW{k~#D=cKW2=V~j;Ji2O_ zJ_1+n!X1^52}-|U;C T>K&Tt00000NkvXXu0mjf|D6lI diff --git a/assets/general/doge/images/doge_wallet@2x.png b/assets/general/doge/images/doge_wallet@2x.png index f2d160d4b99df56d9ff759c2eca5046530634cb1..5f2cd56cf7ff6b284cefd5509bfbfad2dd065080 100644 GIT binary patch delta 2683 zcmV->3WW9AtO1u5kT`z;0drDELIAGL9O(c600d`2O+f$vv5yP_&_M?FmNQKr>H72m<%`fs5)v4)}n8cgeBd9R|fh*-FApT4VwIuI{Gp*ei)o5~1- z6Zu6R7A;_5!WqGYcnu{RT`7o|l!t$P(TJb`oC`Mxf;}dZcXHSD2y`Z#@nKKJ8*~^u zFpoGkp-zPRbh`Em9sI#e_^|0{VkmRGzIA;Bma!@vj(>zmwX7l3W^v{_h@YKS^*$^LyooqWO?NPpW)Lka(#ELMq`f zh4TiyXt_gmG~y4z>y+N|NkKB2(#u z5oc85Ww41%9C3x1NTv62j+1YZDpysZp`tmf;)humeoJ zWWax_P#o?09DvFE-nl=p#X%?BjSj<|H0Z2f_R2_qv%$fWt2rs_-Q#kAgLxqbARy{HG ze>9pKTUR?;vqNyqs8Kf{T%7O>!85?d_UC^CDd9Qow*z+!9d!f3nMl$zlKP9QbE(*K zaEJ)>z>0aFaAvg4Yl(P{P^2d@XaQGf*nGTt&?lUD!b9*RqK-j})^H4Npjy?P-hb$u zfHTIZ#($=u`4-;zvy`-DIId*#_Tf4jM*7hO{+ zzT%s(D705P@bilIAJ5i)GNU#lRP5u*WIlXhUBCLfk8AI}UPP*BYTu%O7g=gQ2z4(H zTuc$rm2GssH^RjcO9+ciNGl;(s;+-1S&eBi7nzl?6I~kNL?A-&5Y?dq%gR^Itz2k{*YEhAQ z$=BcHy|OMGj<`RfaK1u$BI%|}O|T5pupD5jrcy)`J<|gcMnqtoC63Hk`$0vJjxf!| zm_$w-2T=M8^PXUv0NOo_ouhvw+s~tRlB%#E#XfW@dKEfdy=Z!?MCE*}3ihaQznLQu zRVWt~YrVWYcJaa`B+Zn-1zxy>-2b9~h7!RY7kADqB|C?p6+rt04Cet#Am9y#%|joC z)N;R`@brzuRbDX|+GqK!=|r<1skZ_sh_S5^Rgn1MCa&^|$?`mP+DU)4p|Q1 zaWqwm%k#Xs90qM2rfq-3Nv}71=j|u$Bl^n-r<~LS&KBg`XzOsA_b6_E;|$){|LJRc z#5t&wm?cOw>a+kULH}lb;|v29(N`lJ1}IMI-e-Z1XlYC&5w{qrf@S2LjOeQouBSE9 zq7!8ijWDN9+NXQyZZ}s+b?-RTLs&rYv(qut`*9gWYTPwF&>w#~-*ttfuvh5CX_aBb z!ilT|IIeGBPvt7&W_8w)?01*e6^_gUF0({1V;evcS9#H)?F@cqN;gd}%m>-XV~x!$ zD>)c#R2A22!uywX6b?l`Tjnxtl~e~6oxLa;m#KsuO|nF#&udmFK#lGHJkbDr{MYIpW>emPQ}jNQc4}cX zk0;C`SjJ3Il?rnUJ{)2QY=3?0^U>HVAOX}_4tx_ECzzFYI`3ctiFWH4C+SmR)}a-P zq$}@M2->9P22XlMQXW{ zbm#43GH>3ew(U-jDVaAk-_0r-F?H(n;&gRKFt&fthXkeuMO)wg@dTzImz=lvdC4$7 z4OD%ak=7xXJ}1U(a=GH8&C$e(<6J}|a$RLIr}}DsQNE;YvC!O?rcqg<$5B{W9=tqV zJ7Nr8fyZP-aCz(??*=#4)^*Kt5EY9qsNZXsxbwp_X{&00KOndZ+gSo9?VQ?b9$bDDM+ML%e#jSOn*C$#eqKddY+7zdu zfTFWDbhdSTIC%)ONg;xDC``Bxvt&Yz5991yKCpL13D%)-;W`)-s(7dwd&SCk$ZkY? z2WcBxSsIR(Mz~&#h>~x{=eCAW43XCCQr&Y0DAxa)P%=s>TrZ~oV<18skCmuy*e*hE8hW1FWfN98Kz2AIXA_u&+t>w8RnRw(G^sn!dQQ+V)9LRjS+%T pV^s}w811bx`^QCtlH@RB{05X(OI-!%-wpr(002ovPDHLkV1iqo4a@)l literal 22106 zcmV)rK$*XZP)M z&vTwTnsSGEfA^g8KX1FNuHX>ch}9Q*vr2_KtH^X_J@sL%y*ik+HH5MTd@VQ9h?OK* zvFrp>R-$xe1@RWFG1rTgr8zKliVdsCaAK*)_Oa|Z6IPYw%IZ}ftS@1tJt5FW;n8@B0ttlruJiXs)P4_LlwR^JI<8<#!|5ZD@)f{U5*DU z5m~chrHiI*u#F00%$PdflC@PGW^J`0thGLr72|uQ@y4vG*T*Z+BNwM9OxLUn*uVndWl99UtxD^sM}|E(m! z3UWE|PSK+Y7D-d|_6(R8876?3m z=7Dx_v(~iF(GlNs*z*+#@p=`Gc)!ZeLFb}#X5hK$JF-&@-^+^C>!9zZzd@N||F?M= z2U$U?4XesNfYIR)Yby@Gzy1FpIQqd2Ii9R3&wEoXdYek@gyzWdvz(sKNHB@cPBooZ zBn6oqex2;WyB7#lnQ0R$nGquyH~DsUSl9^DR-sGWi`VXu&zsslwCdQc+OgEE;u zRLC_(kLfvjEjL96l%lWTF3+d1D zMB~Qn6l-g#$l{CH>GrHvd62c_d*g5VUka`q!6k+5Vv1NJR--t;O7T3B7{jlpM(YI2 zMf&puEA9ApI3DmCzw-UD;g0!l<5zv9+<+P%I*Lu9y#zrNnnGi~F*M{E3-!6iP?uu_ zcode~^5@ohou32GB{UbB0Kx1iF(dF$sW1@eyXkMBzs1k(WjKa^TYA(EkR|K|S)%@_ z^f>)c{0(0#mO3N2{Y;4$CH=;d^#4WRYNReqDKcl7s1)T%)?dzuGxW}k*IA@+m=dua zLNVX?xNQ-R9D0?Dj54`CdWD(LRccNRN}z=L93yIQZV!U^v{tw5-1J@aon2-0-DXfO zH{gF0{f*>>lpmAvZ6FF}w;LrDi~0nV+TuG5ELoxNH_k@FbyHRVM8N`b~III+Vx{vNGv@R-R_hD*k^3 z*IIyTQR2+9L>5e(VEI#NynZIE82W8_7`Y2r-AZ2_B9wLNNZ84E#-$2UTh2)rvIx zr&WnotX$&6noxoMe*>;8+l~IXO?ioyDC-?qdc2XZT%`Lk<%}>?hhEMv2@!tVpj4_4 z-R0)IF{oi`RR&OvLSd#e9LB2-LPMGX6i4eqjU3^T_vJo5z|YcnK14y(fB?w@`>HGi zQmn`PUIQ%fl^8(2NEdSBb)h&_AG%5~50{&9wHtWg6~V`Kvyg)23x&^& zxP2{Bk=6GKQeAnQsQy~PmEs?j6Kl#8DOOCHWMQgEGPs=;zZ*zWAGCjw*G-rwgigF# zu_2)LzR2K>T#MjpQ0C9JABD>kX)xK~3zaBdijL_(aWcZo<0|m6;jJcSv_fPk7WEFAM(eTLdwc528Jg6>Aut zlj_Whu#MCRt`M!QGU$H}TyxD~)>RwIWxrfxvq_$6Rj5qd3kgTw08givgh&)0bVZW1 ze&Fg~rJ)R=BtsWQ>I2c^Qen0&7#cINIF8YQQp|NlN!Wm>Fh7aceG;SZsmamjxwu{J z3caQ7P@Q23l8{}H8M=qV%M9Jik5t4retH?cSB6@HaKAa0(I{4ut@m~ zf0(d7G%_P76z|2Pe+aHjron8>VQ7$O!C{^&j?;rm%z+L0{|(T18G;cY%Mf}>_d`#S zJJiT*p|i*ZD#R8bM$eO?$B_}dvJ3-g)Id8s;ZP@DH; z3A?H0n=6sKe6y`8n6*>~vG%5;tQ1QJY205B9QBTuU@_fWca(KE9A$Z#PESf>_4=f7 zyGVoxD2oNPL=So^Erd0M!MfmbQ+DCe3BjeoSoJ}uLFHDw1TIDo%J5i^qN1VTF9(eZ z|B}>wP@icH6AeC4pX~_MS+>xWZI5OLooZ(&O*2PulT)mDcEbtF>%Sfp zE>x>}IloM!8A4Y4E)1OpLs^Or2zn^{&ZZ4qR=X7gt5anQkmE%k|5W zSe*%iMn&i$Ovn`q1L(opjQ2cj(9@QKQzh-f#&d>CV@WVj?1?ZQoUkZV4DaO=BZo=_IMSf@idI2JFAj9KUs_sEHBcS$y3Z94;+o^ zu4m0!Yf$^Jnw*2I2xY$_+41w@IKw7+0+;)w9I+TR5IW1u*Xm2$kQh*kc0h~T9nKHN zLO1oGs4UUj3_y*_QXQ!Sg;>`WMC^l7Di3lDxmejqmso?gl+Z}~`^KNwzE036r{yBF z?6AF<&)lF|?f{jjCJ9)b(h=m*rjUGC4`O}xLY(hD5Qppo8NOGBe^a&Ga4FBN)+56^ zu&LjZ;8B~&QEf`%4BC~+j$bH@HD~fLVK)vam_=i2%jkM8Pi5iXoDB^d(KwSWw#8RMHW&}O?)~GB^(d+i1 zP%-8(dvdLyL5yWZHsvB-UT7eq)o70#W}en^HLusG4513Idi-0VLawpuY(vf8fDKML ztuRU#khqhYYv1*%ct)S)TST3OWicpsfG}QJx9bT?hg_pcHGrVgiz`4+Uv@ke`a* zk%EREo0Fsqs$^X#$iUZAbRjQdFO*<7j&t7(DgL{mrO=IgT5h~KL>=4(iGF)9pXqWF zhv-65Aimc}2g`%K99&t3Av8VQHTRI`Q8!-^ekTbQQk&G4C``ihWG<{q;mS%;LzJOd zd6cn?WRrDGf|iz`zo|gt$Z{l(dYSRNfqFsQ?OqUQM7giR0+wR=Ck5A3fLQ%Z&a%j4%fXrrHL& z3#_^I6k0={+8WPi$6q7sE3$z>e1C10DaeoP;_6j#WCuhzy$p3KM`*=RS&(P}DSeIO4Jm!rZn)q$iaHI+*A70Ck5w3fvOBUKA|(s5Yropqe)e!=^Ib z)}%!2Od~3r%EXTBQN}7{ZfhIL{~D~_awT?5A~OG`JVE~*Nz6|0aD0g-;&8dUTuFUW zaP?R-6=Cr`*?JV(6c*guCL4X>Y<~ot>OKPV9l>z2>nJ~tlsRyC!wBv{BXDCC4hYc> z%@)SW?d}`?f4ssDCMq5Hd!}og@OcL)!5T3Ky{#C%E!yQ}$PCkkX1st@F{TiMq0!Iw zRj}869?W+<0|u}C2khJOOW5=B&*7li%aGu&izR_B50}O18w0mw)OM-IcJK~rYEyZl z{vDaf^4nAz&~Q))h_QADHd4ScSl`FiMRAkg4joS(S?pq)-;59x*wMw1# z*x;zEs3dbYbd-6(P{{%GG#!{jKxg~I(c1#xL|YKdwI4(F3d8&_nm*(H%ys58z{W=vCwEg*Ny;3cC)Vj?)EM$Sx=q=|h^|HaO?F8Iz;bBGRlUGUq#1*lBOh|}xIOLyK>ha#{B;nn4NvfA9$jkQ(;t!i!6!K_B+ z$_i2)nMz{kM`LN!VeEqnl8;T5n0{ht4Lq-z@Xp(!jGds)FoKaPU+BuQ=AcgZ9)+1^ zKlHLt4s8kEN%X#{I?sFHC}a|_Aq;`td6rzzbmUmUXpJX~)g3}$p8WA>trv{fdBZ@N zD}TMO$PT(t=qQfvg1qDVKo!0R!W>?L55UFfMewxT%psD; z?R??q;BJBuCrA%cgLHVGC6xqatA|QhZ?Lw#*pzp?`?|f%3v@-|Ucmb9aEWX`tIc-T zbVL)6@`sJJ*MvM^p$JX$m}W1@6Rf^373usbDf|tdPz%y^_^|#bf!0)Df`6zfewJol z?E$p}1xSt!oM=4)vyFZ*-x-XdF%+hoeBu0X9K3l_4vV7+Fw^44;c;;F9th5ogB!1M z!pAlU4ArGrBVAJkfDLLW|nkM*PMRNBaHspG-=JEhmU+l{oN**>=fd$}lE6+rAgTz}3eOZb8 z5LWa?wV4=${oFQ#2ovcBpa~DFMiZ_aOS5z!H)SW}r|pHNe0!K}3x(?wNpN*6o_p7c zwm_I_^oGTec(^eygKHz&IxD~3h?4UTsoOdX<K(Cc}-1M7T5@3uk)5V7l3thsVW{IE0o3SEke9%8VGU z&Pvb|LpVJ0y5SN{PNNc`QECJ&a#QFju!ji*Gf{tt!&|ZuI&yE*cwkqa4Rj(n@;Z9l zk2$Zu*p916`Edh?aDEwzQ!St@%^b}Fx{F;Q6d^tT?@z%t^ft2{zu~I#sM`)K2XsIl zp&22_#a!92{&?ZKUPtXp(+z1JOSs=_d?uM9+0HgTVh_tsGiPcQrYwci3S&7DhWAVr zt~sh>Etn+H>T?w z1|_NH&{w)2L#8Qg`Q?vb*9%X>p3T1iSHl+|V*hp!A2kAXvN?vyeINQE+i62E8v78~YHP z$ME>(Nd*UWbw&e@?AnP;SQv=pU?(uAQ9V{KHN~<4FA6NMJM!#dru8u9!4UM=AUqyM zh{62-1d~JwK_ggwMUEUM<-0LDl88a5V^|+nrW!(4gg%sut)L~(8C9Y+=)U?(6eCY_ z`LBnMgB@POyocYL;{-Jdd&oG7c`j%dmIC@~36qV%)2hslVpHLm|7!wGsaGWJ19^g} zPq}nI7b(q^fvmaWzOlM|PmQ7UY*c%*T9l&sS*}mYlMSvVg>UDxv5GSE_#DT_$!(hH zY`Y;_qyulxig{>U=#AjOmY|(Rc|X^27%pJAyf&Q%SEp0qWM3RC3@2iU)PzZbIMa?0 znlKDvJytJ6^_XRZIn5X<(oJBn@(`Zm2to^hDS}4ungjWf0Fq7A`@l%WeuSifwoQ_O*><6dVjlxFFJr{jx2Z7)TyQzhCw*`)SiEmeVBtSlK*#uzb0G=|Ao zV^)%8yQxfhkV%uwgJki$d0vYOd|l`+H+xi}y#gGm$LeeY$cTCaPW48@yJutw?btnN z7Y1YCTweqae-}qZaD6J3id6>L;O2)mey9~o!wHptSRT6V(mYYFw zvJtfAJHzR&BOKBcde~&!F>X^Wp)iHd&9(-k06M~LxEkw3g7=_s!8(t7B|@dV*`l(8 zf@Dj`IA#oPSY*HYo1Z|i$e}x zUnw`IxtjvDJxu}0j57`?m$~zq27UG6tfwxF8_P;DW%4u&mJ+AKjvw8MqQrHRBFXrC zGRl9NFQS&{@mX0LoI%X5Itr0843Q0aPH=ZI2QH6^5Y(}IA(Haj$&OICghJ$_^K!U7 zpN{fB0j4{nV50Rn%=e-P&St=^v)M3<-qeNpW~{~)8_NpH(>21OB-IoZD3%a-o{5%l zm}rYcXk^D>qCEINe#z@ZAo{5a8s-iqOtRA;Bkl-GLW zHSSQJVGD;{wnMbnUdTpoYr)c>LTU>YnFuc197_>v7%H~m^FXUG3e-G$YQ-aGRMS-W z;!J&BFZ1#sPUlKRuFvP&Dh{)JnLR6zJ91;4^z_ zg0WWgmiA*jT;4jPM9&L{t`Zj*#9TCv^1oJU0i_77I0f^J(hla^F_*O+)j~U_wc{|= z84IJ0!O&gg0KJ&odhr~6C9ZgMMXz(``Hk}4SPd#s467VmOAv-lZ(b_&si~kh=Urz- zC_+Tq4&~GkeaKI?h90#8Ojg)octsCYm_aX%VxYRMP#SzHa7#v0;G++36G9KY!e@&W zO5H5uV)n5^{?D?|uvb~gku8k1)rGRIrZ84l?9Y^mPE4L;+)N8FeBHJ{UWyK%Kflos zxde^`NsHPI-anTOR}kLi(Kxs?8UvTdMX=C!9NsyZg0K=`?;B6U*T4Q{c=p#n056wq z+~dv+#>3fR1lb=2oyAVjU5=iCSASojHJ9m?5(`i#8bUh?h`G)%gm#?6;?UX=8hYDs zjUV*kXM2lXI4trsG7gSZW{uY4s8^+i^4uYqM9-W+51v3TC79IP(xyHm^7#vM^r`kC^atF4je!C>ffYns^ zvc8r`*4coevYK}!?`I{Mt}H9b=06mPy3`j5AxN9%@;Bx`9<=IgeNdvuo*jsVTPLMh zr$xgxETV6m%!Z3pqm9SGo6~Wix9e9B8|w#6^`s>he$$a67%G6C3!`HNI-8MB?;(bG{F&Q+cp@l_z8M*&eI`1xZpJ15}dkFUa8=d0n) zOf;xd?I1JB5B~heDUhc5!fUVm21-gR;Ao&d4Ah3e22ZV0!BK&Zo<*UOpslb5 zf34^V=An@U2z9X)#p^+!#dExS?6B4IkRI>`3}T++;S#-*@>9d71jk3rv96<4LbSw7 zh9X6lWEoqM?#$|u6|Ku-#bP^Fly1xN#ExH7rWh|!pCm2pE0Y<}LcqtGia?#lxyid> zxFHB`ok+!e77p*-9E6X5cNKpBpKrm3H{0RT&{2pEwSsppwLqx91u(|oyWjabeDO

cc{(Kb&p%g@H0R%y%xUfOF@a(W`>f+9c+_i6(#O%(KRF!~v?Y z1PL&Ej(18QwSN)nGmKH7*mAH`;1`Jv_(=Sx6)ChJvm6=tyKe?j7^>Q2)3f<$_FpJS zw_$2z#!8cHnJUo|m8HXPRmu7g=KTs^$Ut#+of2Tx9)DW6k(;s?=DQ-`ZM^btUv5E9 zy96J7cmY8*z|Bb%9doJR@1YMT$JG$xV+Nl?aG(Fe=i%?a_9Yl?2!$&{5wOq|1{X0G zoT{71;CbRI~>{yV?_`F|U1mSp}6UPx$sXzYI_P;2*%v%?bAG z*#Ww5{5wi_3%Jx52(wrR61>53ZAn1lq}o#pXl-z0(|Dl_mb;^Hv4oLwM@aR19ej+Q zfn&~_L2+a^@BgGyf{rv2&gXxAN|8csPYh^rB{9iHHp*n17ji}BtT@Gnv8EgkmMeB* znTe+16ia9NLKAJ&+62-D8TYmi-#Td>9t-qI?<~m%6j&IJ_VzP6juK>Hq*B z07*naR5F5Ui3!$Qw%}>;JP)@=0xaOa{%abBhWg;QFT4of`PLWVh39?@-}=^*{Pkyl z{e2V~cmXtf!#L)z@p^9$7AFPf2w3_9~O9GNW6n6W~P zm#QS2A1IRz-qUPBv6U9KucanenU6^20@hV|Mp!=Vgb}Qfe*aDneE8ud_~7;l`0)K1 zxO2S)u3#y!I2;3KQRZJ7i--3YBnSoJ^oGH$@mRQk-nGyfg5eQEy}@@pMEz8?_6$%FaFIY4(g{r{uXR` z>F4mHAO0i!=&64NWBpgTLYzf#q#DN?d|;;iD9m+5^5bkrIM#$mH2JQrQcMkb5;ya5jF2oN-kd3t&B7%yyLlO)NZ7O1w1hPmYcv*^L$PEh^rK4q)5o(s zM1Jtj2)uu*7w+B}L3mTV_&z@n4vQlR2rUj_g~0-bzHP+Hq_k3HP$|2<+UD z=$@S)NkQ+7;$f21WOb$$)MKb@&2@rjfAa(Q+SmRLTB{S`4<8M|NVg1r^Q))e3t#*k zhRJV$sljW|s6K?>eH24uASzZb7_Ik%g{d4kKbsE=li6^7YROaxF^3xmxy%Ue)l(%1 zFpKB3&Kz^-L@%Sf*Nf#shmv|wte`p9778VLd`@RW?x!ycXnPM@?L)giWW?^laA_2q z7NN^nUWNzDPByPkJN^dWfu|U+mX^ZD0cVVLn+{aU_rkTaW$?$}pFwED=xu%6KD;vq zAAfL)hcW68> z4pe&~FpD{GzwK7Av)BqTVRn!!4FFN3GZ^ckTn{jTk)|UWXb5Yh)`yn^r-sFFVZIol zDLJ^+O$q1F&QB`PEI;$$m*h!?=V@!CP_L~}qcjvAoCE);ai+42*I^X% z#2L(dOK^U-qxHiY?!N`aZKD7bK<2t7`<4z&BG0k>pIxI9mTTgt5xYkl|lzDo-Bkv+@0mn-g_JEEfgs4PQnKW?Z5s! z2fur-8;bLeLF5s8IO=Z#3E?(Sq6~l&{ps-g>*Z*raB(ahPNNW69L8`ul87FPz|h;c z=OM(ob_}oms6O$1vmKGpR~Llvf}p=H7z^=mnC%LOx$ZES#ZqFrEtGrNV8sC#syqlI zbv_6=4$jSBc%06CgtuwzzQ^4+0yo|m#KE;QYQ^e zEH>r4p%ZJQci-%WkKP?aaOiQj2H@SdFjU^2#+)|+)8jetoB#L`FSft(mCwTyPy7u( ze)aFZ0N?$WZ-D-u=b$jt8}42#hIh^=QJ`SR9M6FB6Pa*nS_y66x5QjzGW|QcN^MmO;r!Af+gmZY@2(;C~$q}3y zrdyAqATfr9EK}&rvxR{Q4LGu4^uER%8@_eb1~(jdq}LG>VnZ9psZ#W@wljH+snQ%R zvrv%G24v}xJ9#o(`9TDiZvjn(_V=y89tDXVnl)ZsIxy09l#7wOcZN0KFid{*9(v!c zVffDvy0Bi;)LKvd;G10SY3!e{`2I)u<~P3zpZmNTa*Md)dHT3{Q4 zwko&@Irq4^o)`?1CQvUmffkk33UGt?xKr%}MPhv(ojwb%BPO)j95IrL_Cju=r5(!^ zI|tDojx^6fjsRC1f72{w(uT-9TAOB$W`Txf0EUFw!Bh;7gK+0&58QdH7v6ib3%zd^ z{_w#NoIr1*zQ}L?(-ZKMAAJk!s()Hx1o3A-`8GoQ2M+Izt^Wb%rt@HaRL-e9(QpzkCz9e zEbFD{br=?VN}MoUx@yCvE9O!+D3TcQ-TRsfJ`-?|jlhUedgOLci5(9!MUr`JI;s`g z%P}`ahrem{`fUlGArF&ve0vLBs6sV)=~NLHCggGN-t30=ueWni@~4jmp{Y6nzV_r7 z;CtWw`a{r`!~4Pa{}G;i@^4}5OHad8UnZPK2|m#)fpN6Cp-fnukf1t@zXxuiKMqdg z}|l*c%*iBAS>y&T7Dz9}X27rP=j^r$Q|=)?%L1deP3%c3fo1?@KR zS%IT%9R*^Pc5FK>&5CEr6!UbFnY6)5VY)6K5m>+QHqwGKLceu&V%^{ubM>sx*SiIFZG!ik|Qm_%rkeHk#; zn+f9x^K3tjq{s0*ccwQ63-eTs*qF%vRDf0kwi>ki0wtf1L=d>z3?n}OWJ#cq(WpZQ zmIbQheSB@+r&X72nB&wLdf-nb!Lc2Xonj_KaHcBy4}#KmU zz686r{Tl2ownN-8C%AH|kbB$ApcJMDGPRzEkNd=Mu0LK2FP?`)t`JGuZ&2QUT4)-9 zQV3^9rCM-?(5ABHA@W|HLv=|ar7+C^N@cpAy5EwR(6${kfhgtJPEaNrs#$i5NfGT^ zOk3ZUWnuBXIyjW2X3#*hhYRhvQGTmd>T-c{b)g1TLTj-L zynVF|732`yxYz_Y&X&XNOLZtrMqzHE06d)cftRZ;{Q6hlM+Nx=hecjS;qg2F{3Ja6 z)9>JWbin6;0Z0-L!Z5;`9g@OmR~j@|L_=470?gz8r+QLhs#grtgIO@v6b^$`elS0f zrWGVv+)j;1?>*)q9|PP*p=rPsVa*r|wGw@|A_WY4(+Aqe!@fKe#d<<)}0P#u@Of)Qemh)1x^ghFjPu; zsHEfU2nv=SF?1DsKzqS{m>U$s#d(dIT$s`TAn!YaA@ua92I41yb`E9#gZ3b}F{~kL z#5!D@wB_0?E5co&OYH!?#m>B^rdnYJHL6e7i?S-XjfP6igiV?li)8@9LobB7Tzp*M zfT6M)et&lw!y^imo1Jj|bP@dLyY0|e5f8>Xo4H2?9WsU8Z#)D4hU)S^p8i)pR`%Sl zpMqaL{arB9c^Q(TT%o5a5k@=HcwU?A&ETPu!sOJTj4REN<|r7b41k_ePw21o$Iz&_ z*HNs2rwx@`YYJlJ!?%xGXz_M}Ig+jZOog8|*aJc-j5o znzLh4xQwCj=9x0IQtoLtP8IXV6eiD(WpQBiUJ8*k*xHbV!i)w>5fCX#f;NcW)t+a^ z>pBXRv}}0*LnqBJt45gB>yH+!Uk+exou@6pQ;%;4IThd=>GIN;skZpWKOo; zLbeO$2NU3&=^8|sw6SX&%)<~w63ItWA60WjI5nc;P+ zGYsu0T$xCQtMj=S!j!yWSA(|%Yx&q3g}ieUS#SoST|^KXV5J-w8F|~a`9f`Yl;7*8 zypC|ET8}|x%5Lsi6cR~@3}L}dy(jd4Qkk6vnw;0KU58hNURj!@_lZ}m5)(!I9tc84 z;wWvG*P}a`mwDZaAstOIPTHdIRB&akfJ0gW zwq!T)xeNF@!Citzqu`g&16#7KQIzQM5ZNTR&;Ua3YLc5l9p=1Ntp`#U7_C{L6++aD zLZObr#uc4{fFX*};H+C>gdcJK4o@VTkBNT^EP1I-Ex?pdTJM`{joZ=L$FVI6s@&G(ea`h14hS_7%;jf7Kw zWn+N_+&EticW+=VccBXIT&_otsmDUR7CyM%41aj15sGErSQ=~rC##*jAV27|j~C|$ zopg8&=jp1?g^RzZ2^i^aM#cFn^vLJn#ozu6VSWdG_OpM(aQbtwG1&rPzDB67Y~Z+` z0rb^|@g-TO2U9fQrdF@XNO-(;wp<$)mwQ`M9R7Ysnk(T_W@clkeZWd z{YAM*Zy`2x8-#kjO2g!ohfwR*}`1n>of~(}`1;Dc*5@Vjej zsLBff3!`mdZ@B|QrXILE?geMtJ>cuE2SpA&=|Q+OErD}mX>evJ8AF;(GwEkpzaoW45+9@x9}J0aYQ1fd za-%k%Y4V?J#TXn-5~7}x>hyg)B$Bsvp_h@jb>!Rf{}Z%kr3PGW28K)$DB7Z&y1xiq zArTLw65tbl2VgX8#0~BYt^2g!6 zh9Hi#;p^NA(wyO#pAp0anc$UY456O75az81XNFVY`kV|-4JIMDL|7QhToEqMVfeg+ zxk=+;59cyXJ}X1XpT_~O)}g#qaJS_-@PeBFwW_R8Mee^RNT@7mQCdJFLM=Zt7mm;Oa&3$ z;Al*aYPz?tG^4ugL}geFcdlr>?(GFNhN*09ygU>dQn+Se+D)ALY}5Sxs+J&+Y|7%Pi2VSKYMd9<-H zDa#cTVjpwopi;>;m>m$o?@?9W!Q6J|N(1+_o2PT}ik8EhXYx=8F%U(sCVCWl{^De9Pz)_yNFJhKYQz+o|D0vX&Hd2wAJZ7#HBN!eP)a7LZB_e$^ zJp^d26)6^2%GmOds+o&|UWfm$RO&z0woywHVuQ64Vspi==5@4oAV1Ca-W2o*?G$vn z?H6sBvQco2YLA9t>M5!8gRz!lFxQuWAut^q5_8!of}705(3PvnM@zt_*6!J- z5V(l1Q%GD@`lB~qKUt)$@8m0>Uq>-Bf`1!%8!1VGw%iC>SH3ldM+3+?wui4#Ct#Y_ z@#4=k#*k@)9_Px-f+h@~mCB8K-0~^t;l8g@SJ&O#bjP3Mr`xPt^pQl1K3q5R&gS+K z)5lt^qsetUv91c|;qu+9jquh&5rWIXV<9$D9*1}9ToHf+C-9SJ$mcb*C*YA1T zazP^FBLJs|(lM`LL(5E7fFn<9%_fhs;WuvDz{#=_gobrK#y?XH^S$521a0tA{Jho9K1qX*baG z2pr|ScNQ=NVZJ*#kjRao5ljL^p>$zP%mv46S2PzOv?l!QD8e0=YV(+4je1SSy^BKQ zwUdQ#ZBC70x`5Yj)Ok#u-)}DSwztuvuFe<2*$0FPb!*X#<&FYpC{NnXySSQ`font0 zBBRx*>3-Wl8MYfr6ZLs0z3*}68qtC<`?XzPRM*kS$^-jIue;1DD{e2pgXBZYtd=iq zq{VY#KH7ziMUS_zk&6_?KIo}%flHH8UeDdV*~(!Nyf;th^N>k)>s+A*-jtMwL9PlB z&~hV)C;LTk66-Ur_{K8s%_d$oBqB84eRaBYSx2#^nC5n-^Z_-Aq6DGwnr(7rZlkWP z(fY$s82u8o=h4m$9z3TJj1F4Zfk0FddmuCLbx<7H2^n})MeIhHmOOkmDKt5dLS z16P;57%mB5bAcJ3hq96S?cTyhWTJdWcnZCYJa0KTf_Vy`Tbx8_Q@IE-Qv+`*`(aO;)PzJTq}NlB zOW~0UajNakk$0gd-tWVdV~8xoFrJ8FL>CoqIA6WfnrqLeD0JjmL$%llL*sVH40?k@ zBa?+}=W4PA!)LS7Qd=UJ^8B_mxZ0;3A#chz)lMc}UrjDwN=)~RRVJG(tXN9C+Twj$ z8M1-J`wtZ2hJ4}2OlKJ8l3bL+UNDb&?E0yE437xt0$uqU?<05w^A;-2+X(L3oD$~9 zyATus;}C~ZP{_#O&Z3&X_tFe1(V=v{T88&S^87^wHudn!cnDnrvlcXs*A?+lO1&YJ zBj@^)wF9J@UKav6)gFn!vM{{nA_yy}!NQwDV{rnOF9F*?dU!hrraZa}vO;!na5WMm z424e6hN_afy$IAGUsG^@z9n^kwG@~ydEEMo_e<_C-j^rt1$mNXRB5^kYd~Igw0M8j z?J@$l0d0;#TQ;oIiy|z)*#dc6bDm@zY#EkdIz7sbv7TpG9T`o$DB1o?-Aegx(ibZ4)ofb z3cs@eFOucZN|qV^A4B6+%y|UnD(1fh^rWteLon1B${{W;byCw{D*pdELY{01=i#m; z+Z<{#OhFRxIyV)+H^DBDBRmO$ED`DQLVKXx6}?ikmVh4j6+1#N8g+~H6gi`Ku|sgQ z_RtU>xm`wq3Eu#Zw#%Sx5DU}no~5mptB@BN>uovChB{+dQ+Y5`h#Z+B*`%57zDr6b zFJ<4oJ1VXRju!3LWb0vQi-YTP*(mih_?-Wd8b27S^1>hCi2!~0bJXikDwBI2LL+z@ zI0g5P8beP-cuV$<7T^`ki#PEzZ=Wf+2bGK-lkgyTWb~K|5mb`&|98$+;`f%qmAPD) zY>$Fkr46_FfmDt6JuuZ=X?1hdRRis6yGj)Vx^pFo0*nsaP73{|`Fp&h=1 z5$3YqB75jj+i4yXxN;}xE_8;fRD`DD_d|H}1~utAeC;=}$c)x)D@t=_9gX39Lm@I& zlUj;JghSazzTF>S!cw}c9O4K}bPl=g0mdMM$KanHFhA?C*uoyTCX(i6t& z1E9Ce14G3@zHssO#WM6bO`d!E%zZ%A_+-n0Ew@_;l*7i)X<#jT?F^m^z52~lnCDIx z@b}QU?<|(W2bZh(XHWLULRYy5pJiODw1%n97_J~6%A3?biK=qE>8NHjKxx7A7TveC zBhQL^9C==5(Cg5xc7n0GgIqDvsCQ4HEeuw9;<+Q?L?0^So_M~&TSu-PDpd4bg^5s~ zZ?usuq2P%3R=&x$D&4`NNan>Fi~U&#-2tmIh_Q%}S6Fy3TF4d_9r4D}CTxqe0ho_w z6ShZnfzk9m9x4gqxv>;3^)F3lBEWPQsl`GXje0{mix1!r+|OTs?=p&(Q@LwGS`*$1 zu(=%meak`5#E^`6@q^3d@cu>2X>$t9S>b$(sw#ywRG{aysQ1I^5e(@V4*Bxo2WD|C zO$s{E9nYZ>z?yU&=q|E_s&pgtv~7^;vlYG20>Zp@?4RH51Vaw2?yEO}Rt8LnZtyJap`QF-4)=?hF+RFS{J8gSd zfTaLgzQ}?Vr`l{PRUBZlRLelk4nv#y_Uez?_K?6;D|Gmrl=EY0aCs(+L!+*)`R*u8 z(w;Eh5D0yh-WcPZVF*FKkKjJKT7~(Igi4;)`yLH$>3uv*Vh+4>UX7rNIi$OI&bwDC zc+R{yDS^?ZP?X=UP>Z>xF2^2^*3en*rI}xXId5q+eBZ|gD*yl$^hrcPRP~xLi|0dH zNjp*-gy8n_?g8`_3+gQ8(VdXwv4w}s;R+`%^#?H>5U`2XaG1l;OTcDPn31=g#+*IU z7zU;BMo^t<1+}uZ!7XijNNrAilQI+~(s+}Q3i$!2Lu_;=aJCp_L)%$uL%j_;wt@|1e7NCoT0rcB4^&=1*oO=w4IATRqvR_F=76K`VENU2%hm90ZuPpUI+)SX!Ln ze!BMz-`dw_{jGg#vURc2HxX!S3u?e6a2LkYxgfcS0BO^-K`aqQYkd)5AT%MoN`(z{ zU?Wd=9EU|L#BZKdad7WlEa8weR?MMM{-Sf!I=Si2<1pMn{hQvz(=)dYTZ;<3`}>&-s>fyP`Mo7B45~{=J05LuA21SP!zix zq`|wOqu>D6sDZq{btxQbV2SPlTeA87B;JA0D093IE^`%d%eVIRdrhGGq|?@u*(sKX zXlvh=rJZ3hOfDHKjmE368hGS+Bur*7-;C7wU~cf|p|d{M5h`S~4#5_^!7$a{uiC#j_Qv(yg3)-zS=1^GF@CmO*(3a;4Whs^%&^i1)ClJVq{#3jeG~tlW zH-q_braNv0xH$rc-`$*zpBEXe3GSiIv}1OG1an)i*zt3{6(Ov<_6X~!3}KyB_YGlL zuCTIL8x|kFi*H|_FL5!JC+>rAzgO4YzP?(i%hwm2M`3b>=Qr_6L(ij}L-iTuy)%O% z^gKTp#S(!l&dNj3f?iWkUV}ht$aC;Wp{|a@ao}D=Uyc z4+nF4IGr~jH8A&xd)^_^HhLUCE;TvK>l(%gF-@cxd~dv!s9ePe zAe9P~|0rY*RnlIOK^!3EKeGNRZw_b)(nE%zTJbf?Ula-{hqYi>>?-$${+d9TXpiI# zJwK3wIcR10TF*3|h+c^{H;{~ABzTTw4v%cft9bwEq!iB2U_P9db6cFDMUQfx*Jk)d zBI4dgB}Y{XDN3_7!O=$LiAT2!)WM$-vjY?Vb!wzEGNnK-=relKT&zG)-75nRJIn|tPv_7wng+n0(=p}&M1aV>Rlm- zq&z1Z5A)|*i}v&I*M@)|v{p5G92$kf9t@+jh<_UM7WWGDFz#j8fCOTr&>k}SycRkK zN;!+eOh-T(NarTA9xxe(<#ergBRG67Dawi@+H~7uCAhr%w`ifcDA=|@ZJe2)^QU}? zM(1seArO_d#!Cbo~$v~3v-<_%SbS2qbfdN={95~_isa1iQtCn zeS~W#6dQxKR4!oHyoLpGf3+WUqK8d21@n+Oh5+etKjuDChRdO~;{O{k{|(dy@kW~0 z=9I??iH~CxHmP)2oKda`YzZ0}e)-t-mTs^{5rdu*`g4sXF67=8B(A@Y>NDSM~ zYdhMYrZ&e=nD33!mICP;21i1M@?r~y#QGdZ6a$BNzME(W;$d?HJ&%V*t=F~U`?472(F{h1Ik6lP$NcfOS2Mc zvrKuHS2u>plw&)<6IG-ndM6g!2DjxR%YUwtBDfq4xa#b6Zu}?F-cEBpOHVM^R3LU> z1v0mNbgvyz=pkybn4{jD(IdCq61b^GF`Y<0#K*z-dGV<+RR{gB+M9*9EKq z*MMrV8I>c?H7M`@Qqag_rcsE{_bg0ExhFje8s#@Sp6Jt*0pxA8s;GkMw={F1R%|8I zq*)4ea#NwV(v06~^Pv5Ud~#N1!X8kh+v^vnJF&7f`%N3VM`{u(m-S497JqyXD_6K; zybWQBBny9K@?MBJyp7;NUg{pd{ETzi{m>ZCi**tfl+VtuDncGM^2())>CAYBKr4#MMTSCk zDngSWv~)|M8o_m|Erp^?T^_ag&25wRfi%`INR?^Ns+4Z5G;M=7w|&&Dq?KrNCy+|j z0oGXH&D0`Wrb@FekcoEj+ez=Y`3=7X^aqy;wP6x#whe;2I7y=jS-jA0#6p_DwHImf z7>A`MPjls7){Z%lWcX4o^;vlvFP@ibIc*uhy=-Qk@Hn;dF#$e1CZQQ=0v?6FN?#~X zG!Uw^&}zk&2+l%ili3QDVpGA(^(D<68k2T|GTFQ&FUFF#o@7;zb35tgV*f{5i9c&7 z@?|xcEQ?~znJU%sbD7CzO$yN-2=#i2CbI}w{|N72$QKsJ(*%TvrGfa7M(?{kogrYZ z!TL*%+f@6o(ZF3i*Chf{^&h7h4lq%Tw@o8E_p)+VzPN9O%>Pw^ z+D;s2(2^~(`Mf&DTyr1r$GL%f9eUA5tiI5P)#iIKb-X3ZPqby(Nj6_W6*NJ8YJU5l z0Z)hL@W&?!A73rvKsE}G?8v*t?HI2Y)MgIsR4{Yl}vB#lpoYv9LIicHg@u)7SL6>+=d>VK@oF zIbxV}!Mx@Q1GND{cexKKI{^!70mI{}p0yG0!f<#G7dY=O!|R$@WO0Jke07Ofu2rGz3i7>WwIQs#{wV8jKF-R~>oVhv{(Hbxq&l$jA`jjHnw@CQMuH~AUlOPnz06$rP_sSw`7dGGSHL=#dcGlZG$SbwsAg z9EC#4i4?+6Z19GrFt`@1jhe>OG~xB?*+Tw3wGs=VBGHJ4#cB+Xty#7_rzHpP0uSdG zASQGh)@hj2V)YyH#P&~g)g58&^+#AoO(^SYj9_JAM<$Io{%-=8=EzF(+*v`A6)O~3 zvz#RRP0D18e7dS)LtXy}6)Q@xV)@67 zScP;yD^|G%(y9{P!{YF3@OFL)2I|8xbQTJ4o|J37OiYbSBgev6Ynaec>DpO2(aov<*gV5}R z{CFe5*Y#!aJNPp29ubiaWW*Z=XUChfGLa3-#dfO0c5H7v`acVt}0GeS_1bp0XR3}Z?3yERduu%UcLfj@`T_~LFJ|fJv`3gg|9>PGi2ObXzgEgM`_y7V7 z;0-g6LV`pIL7eZWQXu&ucwBt+lErhQ5KE1_mZxn5&T5YrCS*K6UYySnX1d~pMx_IE z6?+MDol(L-nYSQ4x|g<>7ku4c7Lt!`M**@M@V7Te6D+=0fUwGQ_OmPm^H&Y76~QTv z>2E5PII{9gHzpUE`N)#=KB7B`969s?0{oQ_8L$J|iVg^;dP0QRjv!&U?hyC9!5S~2 zzv_T6(%>hIwS?l)A45_gj5PStmhn9AEqUXT#OKg3Jf1-jvQ&>fF0@C#A4B|XHWwuW zwSh3(6)9YuQwTkE;X-Vvj^N?&TOrJk79Q?KFVp>9c9MlJ{q_>E1Ivpx*;J}>`|AhS zQWnT^Vog~Cex@qJh1F$yFlB<}k2B)+%9KgEK=UaMd%Vp1Ipah32+f5q!c1Eb0t^(! z8htrH@9%s zYwud0nmVHRGLD^TJJXr|1)cgISTPapv?@LrG@!|>6E*NsLJ3!9>gelEW*Wvw$oe(U8^-ug1LwCuTM3Hs+H3Mt|pRtZW{c_a>t4m#ggAwd!vO!&z47HV8sSRB~h)btFTh`sPmi%K8 zcPSa|tsvt8MN$G~pN?oq)cTGBH|AH6F)s=eRI!kO@b;pQLR_I59rrqWDTZw-)~MM@ zwelTc(C((ZUB>1pQ495OXQ>HpEa+fu*#Zx5^@|$CX5L@LQK5hB!(Io^4^T^4oOg4{ z0@oK!n2eY@5iBP>zUhN|m+f$AvKc~1tPHySaI#VYjVcLs81{%}(PK%!AM=#e#ypiD zcNq?lAa;J@FPYy9;1b>wWW-xZ!bph+9K~eRFDHY&<)8Vixu*j5oK@bQPT9A8+K`PQ zfMPN=?x!OGIb6SJhG%!9@Z0@i_;n)+&yk8hx)ny?SjUINS&P4$H%8Zgeht)H)ITU{ z(u1FPc(}^rfN;PH5{z4y%y8$j71pnCaAz68nreZVR}S6H8K770f|C{7=oxJa4zj&8 zXgf>;j+|AmHRp81edP1$NDY|`R*_(L9^njWWEic>ctH7n0Vj0llXEE8WT=|V4Qk1d zzk)bTS(|w0(E^_}XWDN&{E~ghm6_32?blRud@I$SkkXEZG;!3=k2JxxMH`whFFZzu z$I>GN?&(?>!R<#-2jCf|r+EBitxx=Yes2)-2E=@pp5pZ>r^o1NOXGzrCn%D5%&p8Bvj02AZG}W#qeM z#MOR?#F3D^hrr254E?|aj?fttdJKJm>C9f@vfy>EoCx-!ZGKyUQE{Mf{w>NmiJa8Q0Qz$F55($TV;@a__FKHh)=l#x*n zh7erIW``+rN0=)z_{+s+J~Nx^J4m_qRNA3Wp)EDr=_ysR*xC9jDH5F>pp{EO zr;tFsQYwN`uS|gkJbsgh=d5hKQbJFwC20P3qDkIGogMoq+n~p5PNTdd=LPS`ztHbK z(&08`r-U5En;Er_W4mXgwPYk*MH2lgGR5Bg_|Soi`OC?|upU9HAQz&#B(}t1Y}!M{ zd*y`ZN{H7Y+Y+=F<_nHOqrk~#gO2QVfy@5A&y|B_ES>fkQ$-)id=T66gPB^+un&Jz zMdruhIm=^Z*xsD14y!9Tvi`t(Z6HwdyuH92aunwFcI9q~-~gHmsED^c3p+fQT!`tC zSlea>Yp^dgWHeI!KX44VL2oIUA9@AcLR3cr_5xyVP9@X9YBGSJp6$#a@pEbtb(SFs zz-M`sp9s#QU$8A3{nq@_zMkW!c&^yQbA=w>S3Y*NdCQBi$C9n z8fd6$5HSMY1*G>O2GCXd8q`>&kB$0%4Z35$2C$QSpkqGv2|;yGK}QHU`|3%%4a_wV zN=|dPR;^T^rcu-Y@xDf=p*F%BBR1Ch3+={c`wU7<=|njY;jPLe zt#sWy0X6UpD^!1hEl}NKc@C|ziL?}=w66G;SOeo@-wp$P=L5h;aI2A3F zawkM_1|>=s<6N}lx!erNtp_1WiW#HZ(JrtU=f}A9P-0H6ML8(zlsAEK4x--f{;pp8 zT#)xxl!>b*>lg#$nvN+Y?f6%e4-r!L(qQJx&GteYc?U3S&E;+@s> zLX(2^>56K*yAi8jE)40v5=>4p*K=OVQ83 zg7gJ45I>(BK3J&7T9~CY5Bw#&Yk#5A(bwO6+<^sls2hBQ}$s&7L{s*>K(n#kO9suC1=^CB9pA# zsVI}eI3F993liqC%L2Po_nq`X#=w+`I60wnhBHyVfBS$gba7*DIjNs~|L`R^!ioES zf3Sb@TqC>!rqmb<_v~*Qr~8nS)S|SB4Yi+frp-{Ps25*$AO)#J$%zd!g4Bsms+h8O zg@FahTq2JCP}zbM%xx)84jw!M#9d&R5lDc?jg8YIn1i`Q$pvy|3Mjt3H;)^yz#K$( zqAk#22(mvAKj;5x6%osx`1SAaKZY5Z*;0Q7=C(Vl8>jbRfi!pj8bhTU(?*F1b*u%( z=1IS=wXT&xxKd)H@$HA!EZ;MeCdWt+4xNEyEj9e z<49K|tzYzyO$eHAO{^}1UKlWnSS$&;wYoj+H%x6QljP=C2n(+*enN#UDAH4%^xPOzCc{gc5GKLKlsD0f zIYl!xmp)C2=tfJK48CVPgJMo{>7jpF&1tOVL{XBJ1fKchHET~kY=hF@K{(tPTTT?E zu0&6P@t)Pce|#miST@OM5Zi8VvX)~-$r*Q8P$6Clxg1D#UY~S5cdRIFU6Kh3iZd0e zMhF(uobo&y`?;~-r8$-i5fY|UICE!C-XP+0>ZKUlqHlwiC)ksH<4cFldGVAq`qy?gQN)U{77fG3A5%_Mfu z6pAl>cH<`DS-bkNOQIy#tpRcwA^;~zg)t)?7qe5Y>3H)o;bgM_;OtRE)D8Jz4F&uUe$$b85C0(!L>X10IxxP_TM^<|nATeQN~JQ$Wd@?uLf3)u3FpF0>VYlr z5D}?CJ~I%d7?GMY3#TtkXECOfzBUDa(VrD1J!mckd5hce&E0O>$Arh6Gt~Njd{&f| z3JcP6>aKQh+k^+z58!_zNnB|~sZp>fy$82kxpCCk0uPBI^+l8>pyYVcf2wJRk@hiX z?{m$K%pAn~^u~%3xpy)QObye8wd`f#{#~0eXY@nvo0FViNV;lLV+!fV;2C}6D9m3T z3o;-kT_c$3=P1m*zjF$z)SMwq=3V%~odu&heEKmj^0R7zhsb|(u`IL@F)%?9RkVwq z*ADoI)>WZ7$q5gge%+wA$qo%!HASl!n9!(RZH%1<1oZD@N8nw7AW}a#CV%AbIMo2s zNhnaifM*y>`DdrAm6`m|=%9?J{j-!tm3J%V-?8Ie^m))SzkKJ$ufp_CdbbOmNWdPr zVcpqcRm2$5<70ngMs=>`P76oteVS?uIgnh1-2?}m9InLRsJkCE+=rB)ry00$-xvcE zB1Nq)S2?B(7YC<0sssMPq70cVZaw+{i!xxA{)m5q0>YwXyn{u_c!vmOcsp~Qi~s81 zpn%ZXH;Xb*W?5G}3JsBuiBc!X;yI#tdUCL`HpLg7t!{sONHu18-l3^uh`}A{jfv1z zA5Zft)F~3$a#{_#KHYO^TeDJ$a^9h-S)*N?#%S}{{L^GdXkVK>nTenSOR3S%Qz0Wt zRmfnu=ooL2zU|D%URpGk()_t}fC&y0cC{cSKK9aTr9TN@J4KkuNG&^%67;aCgY+ms zdD!U5OoV^-FE$*kK=JXuzf__lWJUUT|CgBnVtUu@?R|gIJrlIck56^NLUwT=b$7A(pDaAhUmzo~!K!9%1JU);BygU$F(%axVXmB`Qi zn~4ssD5(VslOU7v4|3ZQrITyE$q%f9XHb&UZ^avQo-6I&5KX3sIa2)2mhK#oxb7Id z+S)qj5= zN}qpMq?HYdAx-VL;aZT%>gE{yqcwcB*Fbc#^29xt zb$98Gj*Qe%q@$O>EP@v8O>}XDI0}!gBuKox*XNQbDZ@KCTxkLC{mum&HzMvUiAPz9 zae${*(w2g*R2Ht?W;9RKu{js51Ct3!)4_i+2@$%oo%WjSG`xTNU`uO1tt5iJ*70;r zl(eWkx*d5Md*si&LsK=vZ{{!j%p47#Nu<`ms0|mNJ9&t37}^)EHEx5aTy@>V$P1Rn zg*TxXF1%xEeD|Qlc>Y?p%fqO^<3LB9qjNGOgpulg={%%popV@ClhVXP$+93)7Ss5ZgV=@)$@$g#bl zV?~+Nj#|J3!$6R}uQo*3o7D9*acC-?FaQ$-!3Yv=zKuCil*uVW3mC7Vq$XO5euglX zzqW2Vy}EI{G+Rr*IXQely$bJqk0F2iOrxh8MakCEPnrj{+WW(Y#ya8)2#3}*XZ%x5 z@+Eagk$;!h%LwhxiEfK65~GH&#@$YP&uFUc5Ns_M4~daZXiV(*Yhc!~#|;_xFjLPw zCzVIa1k-`UE=7UFSh*vfYh^5>pW~pXVp3i5DpQM+RDOK$;5CA;-OI(ny6Ar;TElEF zdDS&}=|IIunB&f!#>VuwF=yHiL2Yf~ws>lU83W@KyM;oFItYAZLd9B9Jd(X{bRl2O z@;x(&lFr1NZys)%q^AkY%#a1V15o{Z+lWqy7%Ji}C|x5FN*r>{0b9kZ(5RVNdr0Sc z_@-F<&b(O%W-Pk5E@eO|y^DWIZdSiJoq4jyT+5y0xk-AKqB)>Us zg`s4Qr2==eZJ5Gg-S(WLX6D{v+xYhM$Yh1wbIDwT?yjeq5SMDTvdOBpuf|SHxv_5h zTy8@OQs;Tix3!py>I^~m*p*PrX(z;`UP4d5fCQatDJN455XFv*k%fP$MM*SF{J`;L zxuH{=)r}7`70Jipv`kx|`{K-O9IbAgJ_biPv6OvG{qivu%Y#luN%c#G zs=>l62R73-uea+_G?|>TQbsPcXmaC5aTy5G(Jc01oLb60^ouGTJ?1GJ#l)6=w0fL{ zAc;)-QJM#TsYRf?zZiedOpg^L7z>%jq~V0jo1|En#UT$t5}CN~VH!_V(^vP^15k!z1L3o|_O79^3m`yR$-<>zYIyvy6o!k}f>r{pL|Vqv#I zjt?GgBWk`G=_%9`xwdh-ko)Bey`psTj|VU8Dh@8IGIPK6#HloR?5-f`ZsVZA7T`FH(zk8AW)N(u;B&bT!zx%qj>K3oBH- zYo4u`K4&@3j_uoVnSM`f{Xqt6c_HJP-c|o)nO>^uoR= P00000NkvXXu0mjf{BD16 literal 37813 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 diff --git a/assets/general/doge/images/icon.svg b/assets/general/doge/images/icon.svg index 2585665b..494fa619 100644 --- a/assets/general/doge/images/icon.svg +++ b/assets/general/doge/images/icon.svg @@ -1,28 +1,24 @@ - - - - - - - - - - - - + + + + + + diff --git a/assets/general/doge/images/icon.vue b/assets/general/doge/images/icon.vue index d3224b5d..98a045ef 100644 --- a/assets/general/doge/images/icon.vue +++ b/assets/general/doge/images/icon.vue @@ -1,12 +1,10 @@ - +