diff --git a/.gitignore b/.gitignore index 4105eb2..d283380 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ dist/ downloads/ eggs/ .eggs/ -lib/ lib64/ parts/ sdist/ diff --git a/projects/abel-cli/data/verified.json b/projects/abel-cli/data/verified.json index 53d303b..e001812 100644 --- a/projects/abel-cli/data/verified.json +++ b/projects/abel-cli/data/verified.json @@ -1 +1 @@ -[{"asset_id":2155418402,"name":"rug.ninja","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/b81d2dc10f6a44dc9494eb38203a474d.png","unit_name":"RUGNINJA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000011599","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155418402/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155688884,"name":"BASED","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/16/94eb4ff35b704f99b5855139007feb83.png","unit_name":"BASED","fraction_decimals":6,"total":"69420000000000000","usd_value":"0.000000265299","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155688884/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155690250,"name":"John Woods","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/14/422953bb37a440d991293688ff889503.png","unit_name":"$JAWS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000013894","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155690250/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155822658,"name":"Pheasant Pluckers","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/17/9be3e5958bd34154a08c16b589f77db6.png","unit_name":"PHEZZIES","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009249","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155822658/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2160577481,"name":"Fry Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/11/78e2639579994d42a81693041ee5ba2d.png","unit_name":"FINU","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009364","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2160577481/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2171798010,"name":"Shinobi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/30/374ef7cc236b4dedb23988dd33e5a7bf.png","unit_name":"SHINO","fraction_decimals":6,"total":"1000000000000","usd_value":"0.006383894169","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2171798010/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2175930910,"name":"Mustard","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/13/25a294e540da460d87d461647ec09648.png","unit_name":"MUSTARD","fraction_decimals":6,"total":"69420000000","usd_value":"0.093573400976","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2175930910/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2176744157,"name":"Tiny Dick Lions' Den","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/12/e8cd73c835c74f99953614053e011a5b.png","unit_name":"TDLD","fraction_decimals":6,"total":"150000000000000000","usd_value":"0.000000061679","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2176744157/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2211824164,"name":"TINA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/10/e862fcabe7df4f2a8ffcbb3218ec14fc.png","unit_name":"TINA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009936","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2211824164/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2350716919,"name":"( . Y . )","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/6c6f54debbdc4ba7ae8424d2c25d0a43.png","unit_name":"BOOBS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000018924","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2350716919/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2494786278,"name":"monko","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/04/352e3fde277741059ac13d07e5bded34.png","unit_name":"$monko","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000952334","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2494786278/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2495113411,"name":"PandaChainRocket$ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/23/10e7b11016dc4ca589f97dfe6a41a029.png","unit_name":"PANDA","fraction_decimals":6,"total":"9999999999000000","usd_value":"0.000000975163","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2495113411/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2542737769,"name":"rugYieldly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/19/0b2b56a3c1724ab4b795d39656b0d394.png","unit_name":"rYieldly","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000116699","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2542737769/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2563290460,"name":"GOON","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/20/2b1d210a15cb422ab261cd013268c115.png","unit_name":"GOON","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000002029764","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563290460/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2566065199,"name":"Native","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/04/61741d0473d541fe92a051ba3b8da1d1.png","unit_name":"native","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003253","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2566065199/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2575760826,"name":"69420","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/179b32a259694bc6ab25f46c3230c077.png","unit_name":"69420","fraction_decimals":6,"total":"69420000000","usd_value":"0.018958707937","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2575760826/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2578501438,"name":"Dog BitCorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/c896be4d5ea246f6b2cb4528ae537161.png","unit_name":"$DBTC","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000041454212","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2578501438/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2581357524,"name":"MAD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/b8084fae4fbf4b0b812ded15583c3809.png","unit_name":"MAD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004083","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2581357524/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2581523977,"name":"Retiring","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/08/908da3b2e5b1401290faa3ec16c72659.png","unit_name":"Retire","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001575","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2581523977/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2582294183,"name":"GONNA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/60357d6719bf4de89ee11817409b90f9.png","unit_name":"GONNA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000017207","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2582294183/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2582590415,"name":"Meep","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/09/b828993c892e4300922fc9da0bee0e8d.png","unit_name":"MEEP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000026826","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2582590415/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2586029159,"name":"WILLOW","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/01/0d4dc5565fd947269b99ce974a7517ca.png","unit_name":"$WILLOW","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002746","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2586029159/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2589479271,"name":"Black Labs Matter","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/2f4c53ed957d4a21be232b98b42fa749.png","unit_name":"$BLM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001694","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2589479271/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2592364447,"name":"Mewcali","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/14/267ed3b1e60f4a169d4999a4dac4b411.png","unit_name":"MEW","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002300","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2592364447/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2595619475,"name":"Steak Pool","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/13/d79047ee41e54b6497738d8187575aea.png","unit_name":"STEAK","fraction_decimals":6,"total":"17000000000000","usd_value":"0.003739243513","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2595619475/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2595924635,"name":"ARIANA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/a82db42b8fec457eb8c572e3f5403b3e.png","unit_name":"ARIANA","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000000248426","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2595924635/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2604087587,"name":"OGLA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/15/a1ae0763b9234d3285d5d95e815faa1c.png","unit_name":"OGLA","fraction_decimals":6,"total":"99000000000000","usd_value":"0.000067083547","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2604087587/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2607097066,"name":"SocialTag","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/db863ddeb9bd4c85b2d9d249e5810740.png","unit_name":"socials","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001122","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2607097066/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2607847520,"name":"Berb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/26985cdedb3144ddabd37817c76e3d78.png","unit_name":"BERB","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000003378660","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2607847520/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2608615974,"name":"AlgoFamz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/68636f04fee44e998b84389cb198d3f8.png","unit_name":"Fam","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001225","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2608615974/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2609010228,"name":"Angry Apple","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/0a879f3b1f234e35ab21fceeffee8b6b.png","unit_name":"ANGRY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004741","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2609010228/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2611139760,"name":"Botsy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/8986e23fc24b40b5a345a6eb46ed4c3f.png","unit_name":"Botsy","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000000631","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611139760/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2611535339,"name":"Busk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/1de84ffc09d64c5ebcbd23ff8283149e.png","unit_name":"BUSK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000005759536","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611535339/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2614577662,"name":"ALGOTARDIO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/765af5f1368041d5be1483ae3a59c5ac.png","unit_name":"ATARD","fraction_decimals":6,"total":"100000000000000000","usd_value":"0.000000594191","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2614577662/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2614982724,"name":"AlgoPaca","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/01/f0e906021edf4be49be194ff1f9c92e0.png","unit_name":"ALPA","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000183679","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2614982724/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2619156022,"name":"Brooklyn Bridge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/d6da654201004b2081ce0583c331cc8e.png","unit_name":"Bridges","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002191","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2619156022/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2619875248,"name":"Bummer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/21/e456326e179448d1afb77206040a3d75.png","unit_name":"$BUMR","fraction_decimals":6,"total":"6942069420000000","usd_value":"0.000000433277","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2619875248/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2623501528,"name":"Researchdeeznuts","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/03/20/4f58f1934e374c0588ef116209d98f5e.png","unit_name":"Research","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001616","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2623501528/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2623996187,"name":"T-REX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/48f00994b6d649798f55754dd9b56982.png","unit_name":"REX","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001016568","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2623996187/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2624213934,"name":"Superman","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/91875a5fe4cd47099c715b5b1f60db36.png","unit_name":"$SUPERM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004651","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2624213934/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2627627272,"name":"Died of Dysentery","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/13/5275505fe9464884b8ab0866ad27206f.png","unit_name":"DOD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009267","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2627627272/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2627778168,"name":"Dugly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/23/4e006ef941fe444b8a66cc6f603008ef.png","unit_name":"DUGLY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000005381","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2627778168/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2629636312,"name":"iPOO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/11/20523a5c5f75477ca4db198082ab9182.png","unit_name":"iPOO","fraction_decimals":6,"total":"20999999000000","usd_value":"0.000155270678","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2629636312/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2630817821,"name":"NoToSol","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/03/76dcba5f4089478aa179546854c7f936.png","unit_name":"NTS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000006375","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2630817821/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2632454543,"name":"AlgoMeme","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/27/d86b21f15b4e4b269253863baa7641fd.png","unit_name":"MEME","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001682","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2632454543/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2634315632,"name":"paulington","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/25/4841314a23f148ad970317a7c697f35b.png","unit_name":"paul","fraction_decimals":6,"total":"900000000000000","usd_value":"0.000002237027","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2634315632/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2635992378,"name":"iGetAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/2c43b941475745efa7a83d07335a83d1.png","unit_name":"iGA","fraction_decimals":6,"total":"333000000","usd_value":"12.813382995119","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2635992378/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2636001002,"name":"Turtle Bucks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/a2e3f5f481e34662a346539efcf8fa97.png","unit_name":"$TURTLE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000006509","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2636001002/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2636889771,"name":"BasiliskAI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/7d1c6a72179741b2b456307cfe7cf6d8.png","unit_name":"BASILK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000011506","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2636889771/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637100337,"name":"TERABRO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/aa3824ccc99749679746c59467020642.png","unit_name":"BRO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000042354867","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637100337/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637111113,"name":"LILfroggo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/73b5fe7d76a847008fabb2135c2167ef.png","unit_name":"FROGGO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000018159195","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637111113/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637649940,"name":"Heroes Of Diamond Legacy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/bb60e39b6cb648a79f1d3873d0b02373.png","unit_name":"HODL","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000023832","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637649940/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2638778522,"name":"Moo Lalà","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/d366b1079e1f4fb990559bb7f5b8c629.png","unit_name":"Moo","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001588","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2638778522/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2640936329,"name":"Rich Lucre","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/ec4cc78d42ef4ae3bc8bc6b4ac476fd4.png","unit_name":"RICH","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001450","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2640936329/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2641207341,"name":"CHAMP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/605524e00d6444d399ce65610f097708.png","unit_name":"CHAMP","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2641207341/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2641247605,"name":"MG Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/c3ab16f9e9e447859a5fae8619c84e43.png","unit_name":"MG","fraction_decimals":6,"total":"69420000000000000","usd_value":"0.000000017221","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2641247605/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2643186677,"name":"SandmanAI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/6f4016606ce148369a6186a586b5876e.png","unit_name":"SANDMAN","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002194","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2643186677/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2645395515,"name":"Dream","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/26353e438b7a4d9eaa74f444436622ab.PNG","unit_name":"REM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000007986","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2645395515/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2646549215,"name":"Save The Loot","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/c850a130b4944ac88fc3e6c803d4e687.png","unit_name":"LOOT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001439731","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2646549215/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2650297347,"name":"tHe Notorious penguin.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/5063b9cd714f4cebb60f8ee239a02916.png","unit_name":"$BOSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001569","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2650297347/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2652191787,"name":"AlgoKekius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/14/f3fb9a558cb54abda1b6df1d39d0a0b9.png","unit_name":"AKEKIUS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001760","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2652191787/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2656076517,"name":"AlgoHolics","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/e75fc970fe21473aa88ce9e790083639.png","unit_name":"$BEER","fraction_decimals":6,"total":"1000000000000","usd_value":"0.001199540842","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2656076517/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2656692124,"name":"Ball Sack","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/52ef6cace9f745b7990d81705a71a962.png","unit_name":"BALLSACK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000098734","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2656692124/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658221259,"name":"Willy The Dawg","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/91190fa94c7c47d39806a9f6db981fa0.png","unit_name":"Willy","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001276","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658221259/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658574626,"name":"Wife","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/614e2037f9c64442899f12d859264b18.png","unit_name":"WIFE","fraction_decimals":6,"total":"10000000000","usd_value":"0.110732404315","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658574626/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658586119,"name":"iCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/113fc43d8a01413ea92b89276e234d50.png","unit_name":"icoin","fraction_decimals":6,"total":"500000000000000000","usd_value":"0.000000001802","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658586119/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659289184,"name":"Grundle","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/f6a85dacd3ad4c7da639defd9798f5e9.png","unit_name":"GRUNDLE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002178","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659289184/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659740648,"name":"Reggie Da Rodent","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/04fdd84efb864d98901067c9023639c6.png","unit_name":"REGGIE","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000110027","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659740648/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659882982,"name":"Super Saiyan Sonic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/f346c37747474610b3f7a4d728581864.png","unit_name":"SSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000007473","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659882982/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660433606,"name":"PONKO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/de6b935ef2e546738c09d85a116f02fe.png","unit_name":"PONKO","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000051497880","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660433606/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660907056,"name":"Mona Lucky","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/0a0482ff7f2f45aeb977fdbdbc57bd2d.png","unit_name":"MONA","fraction_decimals":6,"total":"777777777777000000","usd_value":"0.000000001406","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660907056/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660971941,"name":"wow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/52a633dac4e140028a11edd6f0e1cf30.png","unit_name":"wow","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001298","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660971941/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661238483,"name":"Forky","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/a6abe48215884e959f84abf6a8e02e34.png","unit_name":"FORK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001136","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661238483/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661398514,"name":"myFridaAnirandEmu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/10/80e96309e6ab46b9a6b450bf961deaef.png","unit_name":"NOJEET","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002972","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661398514/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661400370,"name":"Zorb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/909a8dec3fc54a36bd2fa4b3ba2a51a0.PNG","unit_name":"Zorb","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009726","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661400370/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661757133,"name":"PUSS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/19be223a2bca4931b575746f04dacc9a.png","unit_name":"$PUSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001404","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661757133/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2662898741,"name":"ALGO ANONYMOUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/2756dd4c654944cb81412ebb9f165dbc.png","unit_name":"ANON","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001079","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2662898741/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663232587,"name":"Dolan Duck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/20/9cf13bd2dcd14f7383c525f3cec3bb4d.png","unit_name":"DOLAN","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003194","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663232587/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663493364,"name":"TMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/0b5e5de5c45145658d260d1ab0f1f93d.png","unit_name":"TOOMI","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000009786636","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663493364/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663595650,"name":"Big Boner","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/030c0620f93b4c8c8af22b8c4becbff2.png","unit_name":"$BONER","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000001396962","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663595650/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2664033127,"name":"Jizz Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/c129674cde3c4005893e48f779977491.png","unit_name":"Jizz","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001113","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2664033127/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2664384148,"name":"Panda Chain","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/1904907499494534b583bdc1769067ab.png","unit_name":"PANDA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000005707","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2664384148/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2666385951,"name":"Tony Sopralgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/80481fad01034d71ab5b68f60da1f172.png","unit_name":"TONY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001570","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2666385951/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667006169,"name":"Fish Stick","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/03/31/485aaf558b954df0a86c85d9fb4dc7c6.png","unit_name":"Fish","fraction_decimals":6,"total":"420069420069000000","usd_value":"0.000000854000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667006169/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667249425,"name":"Fishdicks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/fe31d2ba1a264d17ad3e497354267f52.png","unit_name":"FISHD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000009519","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667249425/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667551674,"name":"WOOOOP WOOOOP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/09/a68eacece42c4617afbbaeb02939bcb7.png","unit_name":"WOOP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000016035","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667551674/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667764029,"name":"Milksack","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/66b576b2df104663b0e0c1fbd96808fc.png","unit_name":"Milksack","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003661","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667764029/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2668221955,"name":"Algorand The Goat","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/e93982020a6545a99c01d888f4278722.png","unit_name":"$ GOAT","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001042","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2668221955/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2668760688,"name":"RICH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/95f205c9cbc840faa226ec2a23bbf151.png","unit_name":"RICH","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001458","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2668760688/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2670175704,"name":"ALGOATOR#125","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/5bc2b46e786a4577af91182a490385c8.png","unit_name":"ATOR","fraction_decimals":6,"total":"696969696969000000","usd_value":"0.000000002100","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670175704/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2670539766,"name":"Algoros Viking","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/4bbb333fee7c4bbfac7228c3fffb4cc1.png","unit_name":"VIKING","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000010312901","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670539766/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2671392171,"name":"Rug RetroSpace","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/24/bc76a565a64a4001a4c0ff52170d81c1.png","unit_name":"RETRO","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002172","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2671392171/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2673531175,"name":"Dogebonk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/227da7523280425c98f43a50fab70f7e.png","unit_name":"dobo","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003252","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2673531175/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2682845524,"name":"Algorand OG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/12/ddbc0e94bf8940018ff16d8b84403301.png","unit_name":"AOG","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000016638","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2682845524/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2683257408,"name":"I Am Stevie Z","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/639f1833fe414eef85cffb601ebac395.png","unit_name":"IAMSZ","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001448","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2683257408/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2683401763,"name":"byefelicia","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/e9d73530027c45669cc936c87ecbc316.png","unit_name":"FELI","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003490","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2683401763/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2686169753,"name":"ABBI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/2eca8c4df4144b53a8f552461e1fbbcd.png","unit_name":"ABBI","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000039789365","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2686169753/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2686255110,"name":"Big Ballz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/cdda4a7565eb4ccabb4162a3cd07e6dc.png","unit_name":"BiGBaLLz","fraction_decimals":6,"total":"999999999999000000","usd_value":"0.000000006649","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2686255110/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2687904818,"name":"Cum Wave","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/1d35c1c8ca244a1d92eca8d86eb7ef70.png","unit_name":"CUMWAVE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001346","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2687904818/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2688888602,"name":"iLC Grit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/bbc97bbbea7d4d6abbbd81a353d4e94c.png","unit_name":"Grit","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000011217569","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688888602/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2692224217,"name":"Airi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/16/b8b297ec79f54d768b0082cdbdcf84db.png","unit_name":"AIRI","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000000155710","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2692224217/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2692530688,"name":"ButtBuddiesCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/01/1a4d7064274a4195b6abe421a5e68c54.png","unit_name":"BBC","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001374","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2692530688/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2698932044,"name":"Algo TRUMP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/18/3c3955e0a41d401aa0029cec7a5abf70.png","unit_name":"$TRUMP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002439","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2698932044/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2699158189,"name":"TRUMPIUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/18/474a4ac7766a493087e266f1ea561b1c.png","unit_name":"TRUMPIUS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001072","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2699158189/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2701155519,"name":"Fuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/19/6aafc3e0bf504d5e84e2431a963bdff8.png","unit_name":"Fuck","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001334","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2701155519/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2705531863,"name":"Eric Trump","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/22/1447f561d4264783a625e08e53086ff6.png","unit_name":"ETrump","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003755","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2705531863/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2712061516,"name":"SilkRoad","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/23/4e2f360a46c84f9ca6f79d02a7fbd0d4.png","unit_name":"silk","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001649","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2712061516/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2717482658,"name":"Suds","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/10/c8c2e8267c11423ba22a9a2d57662518.png","unit_name":"$SUD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001565","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2717482658/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2727023035,"name":"Deal Wit It","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/28/c09d8e40c9804cb284505d597b67cafb.png","unit_name":"WIT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000012103294","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2727023035/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2730007495,"name":"🐂💩","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/31/c718db616a70431998044f73387fcd8a.png","unit_name":"🐂💩","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002790","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2730007495/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2733296774,"name":"NOTSKYNET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/14/2364215fd3694e01a47102a751d48d78.png","unit_name":"REMY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001530","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2733296774/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2747837612,"name":"Mike Hunt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/04/03/a9a0aa256fe3429aa87e38e82ddcdd89.png","unit_name":"MKNT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000012078891","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747837612/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2755340394,"name":"Silvio AI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/23/69f8c1f00d4b4179a3ce3ce4332f469a.png","unit_name":"SILVIO","fraction_decimals":6,"total":"100000000000000000","usd_value":"0.000000028710","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2755340394/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2759947125,"name":"Angels of Ares","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/10/8e144c33749347508093e1f1537e2367.png","unit_name":"AoA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000002217762","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2759947125/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2808820052,"name":"MAMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/e0665a56491c4f9d8d7fef365886793b.png","unit_name":"MAMI","fraction_decimals":6,"total":"690000000000000","usd_value":"0.000003661058","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2808820052/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":312769,"name":"Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/15/40cfe868857c46c9bdb177244b25069c.png","unit_name":"USDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.997238633444","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/312769/","collectible":null,"creator":{"id":3378854132130893000,"address":"XIU7HGGAJ3QOTATPDSIIHPFVKMICXKHMOR2FJKHTVLII4FAOA3CYZQDLG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":6547014,"name":"Meld Gold","logo":null,"unit_name":"MCAU","fraction_decimals":5,"total":"9007199254700000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/6547014/","collectible":null,"creator":{"id":3425808711431537700,"address":"26LYTJVUJZZ2DGPETGJY7TGQABH6KLLHDCULLVQKUGCL7BQAWT3N74VZME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":6587142,"name":"Meld Silver","logo":null,"unit_name":"MCAG","fraction_decimals":5,"total":"9007199254700000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/6587142/","collectible":null,"creator":{"id":3425808711431537700,"address":"26LYTJVUJZZ2DGPETGJY7TGQABH6KLLHDCULLVQKUGCL7BQAWT3N74VZME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":27165954,"name":"PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/10/d94124527ddb4c9793ec9f41147a7e3f.png","unit_name":"Planets","fraction_decimals":6,"total":"4500000000000000","usd_value":"0.000024221358","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/27165954/","collectible":null,"creator":{"id":3425808711251412500,"address":"BY6UJNZ2MD3AZC2K2KQJW7W7OWPGGIBNOSZGFZQ6L426BTGO5G2FOI6VPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":31566704,"name":"USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/usd-coin-usdc-logo.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/31566704/","collectible":null,"creator":{"id":3359833743313685000,"address":"2UEQTE5QDNXPI7M3TU44G6SYKLFWLPQO7EBZM7K7MHMQQMFI4QJPLHQFHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":137020565,"name":"Buy Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/01/a1eedbf5cad04b4499dea08e3fd29c30.png","unit_name":"BUY","fraction_decimals":2,"total":"100000000000","usd_value":"0.003257288723","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/137020565/","collectible":null,"creator":{"id":3381885048371232300,"address":"IVJRGE77IR4MIOUSLSSKMRYRJHMDBXSQ65JRAJI5YYC2FCBHSFHAVZIRIM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":137594422,"name":"HEADLINE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/21/b0d2a4b86c364a34bd12301bcdc31440.png","unit_name":"HDL","fraction_decimals":6,"total":"25000000000000","usd_value":"0.002934754687","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/137594422/","collectible":null,"creator":{"id":3385251826900646000,"address":"K3NSXYMHPRCK7PMYT3QUQXUGPZJ4MKWJXW2HJRYPVMQUMKJAOJEIEO4HK4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":142838028,"name":"ALGO FAM TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/03/53872de051f543deb79690303ec70b27.png","unit_name":"FAME","fraction_decimals":2,"total":"1000000","usd_value":"2.733752889802","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/142838028/","collectible":null,"creator":{"id":3347239284987612000,"address":"2BLB6GIAMLNXHOYSCSP4Q7FMS5KZHSYJCALUW46WPANP7KR4KMFTQWDCHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":181380658,"name":"Geography","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/09/94600c7cafbe4ba4a0c27d1b9f82eaad.png","unit_name":"GEO","fraction_decimals":2,"total":"5000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/181380658/","collectible":null,"creator":{"id":3425902491212854300,"address":"6XMKHU65LJCGFPHKTRHLKJTNQXAJNU3MTJRIHJ7ZCIPCKFYVN2ADHX24MA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":213345970,"name":"Exodus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/03/17/b47a46b987ce444bb2d00765dc2cd885.png","unit_name":"EXIT","fraction_decimals":8,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/213345970/","collectible":null,"creator":{"id":3398785743928412700,"address":"MAKF3GL52O5O6ENRRLJSEJRLTR74E323JBZIWMMGLZT5PNZ4NDTEEODN7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":226701642,"name":"Yieldly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/29/4f1596df65c84aaeadf130efc5dde83e.png","unit_name":"YLDY","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000003835249","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/226701642/","collectible":null,"creator":{"id":3425808709747522000,"address":"6SSWYFBRAGM5HMCANECPENBJWOV6UM3O54DYGRNK7GRCHU4QW2ZQJUPYNI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":227855942,"name":"STASIS EURO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/14/9b71923777224a7ba953d226ce404e3b.png","unit_name":"EURS","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.087609170305","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/227855942/","collectible":null,"creator":{"id":3425808709602375700,"address":"XOS4GHMBFJD3I7TYZQFB7FPZ25NHW5V2LS7O54JFSVTPNDAE45DFTKVN3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":230946361,"name":"AlgoGems","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/bbcb7e63c3034d01b43846f098d60498.png","unit_name":"GEMS","fraction_decimals":6,"total":"10000000000000","usd_value":"0.007722033136","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/230946361/","collectible":null,"creator":{"id":3425899610116923400,"address":"5XU7ASL2PLB2C43N6JNFPMSXGATO2VIVNF7X6NTJ4BRCCKRGETEYS3LOAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":233939122,"name":"AlgoWorld Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/08/c051ce5e996c48928a35ff4eadefc053.png","unit_name":"AWT","fraction_decimals":0,"total":"10000000","usd_value":"0.000305468147","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/233939122/","collectible":null,"creator":{"id":3403454794135598600,"address":"GRV2SXHUXIHF4C5KDMC6KUH47BTBCLWJFEXM464GUTXU3BDEHE634Y6K2U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":237267329,"name":"Lofty AI","logo":null,"unit_name":"Loftys","fraction_decimals":0,"total":"10000001","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/237267329/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":237913743,"name":"Lofty 917 Pawnee LFTY0001","logo":null,"unit_name":"LFTY0001","fraction_decimals":0,"total":"2160","usd_value":"59.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/237913743/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":239444645,"name":"Kaafila","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/857d0869964e4678b8a16c135ead1fc6.png","unit_name":"KFL","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/239444645/","collectible":null,"creator":{"id":3425899404854137300,"address":"PAPISJZUYIQC2FIDRPQU2RFNDO2ZRGZN4IEN6QRD7V7PAQBT4CYAHQQTQI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":242346016,"name":"AB2 Gallery Verify","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/20/8aae3e0d252445aaa5f5b909c95a0917.png","unit_name":"AB2-V","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/242346016/","collectible":null,"creator":{"id":3398689423775159000,"address":"C7R2LXN6XAGMUP6STABLUMBDUYHHROQOQD2XT7FSEDNKP56674JG2GB5LE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":246516580,"name":"Meld Gold (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/a5706bc6e41049a385d80468259ce1f4.png","unit_name":"GOLD$","fraction_decimals":6,"total":"100000000000000000","usd_value":"99.131453891600","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/246516580/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":246519683,"name":"Meld Silver (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/d5254eec62f64f5486e84c7c19669ce9.png","unit_name":"SILVER$","fraction_decimals":6,"total":"100000000000000000","usd_value":"0.998828024659","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/246519683/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":251014570,"name":"Blocks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/07/236b9dc671ee4c4b826f6e4c393c047c.png","unit_name":"Block","fraction_decimals":0,"total":"42000000000","usd_value":"0.000006687002","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/251014570/","collectible":null,"creator":{"id":3425809301836849000,"address":"ZSV653RYTKEOMS5PJA3KVGCKSEXP5XD36PTGCJFLOFC652I5QZHGD3FBMQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":257805044,"name":"Lofty 4661 Berta Rd","logo":null,"unit_name":"LFTY0002","fraction_decimals":0,"total":"1970","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/257805044/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263891752,"name":"Meld Platinum (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/64c898a400fb4730ae0e7f2a484d2fd3.png","unit_name":"PLAT$","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263891752/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263893023,"name":"Meld Palladium (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/5eeee09d0105468d8deda0a796bd3fea.png","unit_name":"PALD$","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263893023/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263901556,"name":"Meld USD","logo":null,"unit_name":"USD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263901556/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263902859,"name":"Meld GBP","logo":null,"unit_name":"GBP$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263902859/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263903550,"name":"Meld AUD","logo":null,"unit_name":"AUD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263903550/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263904280,"name":"Meld NZD","logo":null,"unit_name":"NZD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263904280/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263904924,"name":"Meld EURO","logo":null,"unit_name":"EUR$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263904924/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":266846137,"name":"SIGN.NET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/b027df7c439b4107999695f489c1b5e9.png","unit_name":"SIGN","fraction_decimals":7,"total":"21000000000000000","usd_value":"0.000599409195","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/266846137/","collectible":null,"creator":{"id":3353430444951617000,"address":"2GC5XL2SV34S272FWGQMU6EQGJRGKTMEQGWD6ZWDDGEQXO4VLAGKIDQLRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":276461096,"name":"Lofty 3557 Carrington Rd","logo":null,"unit_name":"LFTY0003","fraction_decimals":0,"total":"2140","usd_value":"58.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/276461096/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":283820866,"name":"Xfinite Entertainment Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/f48a45093fe74a8ba8f26a9509a774a6.png","unit_name":"XET","fraction_decimals":9,"total":"4000000000000000000","usd_value":"0.000158955175","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/283820866/","collectible":null,"creator":{"id":3412161475986987000,"address":"HYIJYKMUYNUKMXRPCI2MZFBI2YN57B7R6KT3UZ2MX3QNJE3NVEHC2Q3RSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":284090786,"name":"Lofty 16171 Ilene St","logo":null,"unit_name":"LFTY0004","fraction_decimals":0,"total":"2762","usd_value":"57.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/284090786/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":287504952,"name":"Lofty 2337 Greenvale Rd","logo":null,"unit_name":"LFTY0005","fraction_decimals":0,"total":"1959","usd_value":"52.470000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/287504952/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":287867876,"name":"Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/13/1c665c2f00b047cc8ab0c94cc3f0409c.png","unit_name":"OPUL","fraction_decimals":10,"total":"5000000000000000000","usd_value":"0.026139866426","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/287867876/","collectible":null,"creator":{"id":3378454918818914000,"address":"V537CZUKQJH2ETEJRXHAQI6OUHL54MZU5OIBCAU4J6OE3557ODF74WVQCA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":297995609,"name":"Choice Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/13/a604ba325a2744c79c2bccf6aa7d6f18.png","unit_name":"Choice","fraction_decimals":2,"total":"100000000000","usd_value":"0.000017875032","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/297995609/","collectible":null,"creator":{"id":3415282169135368700,"address":"FG7NNTZU2LMMD2RD3Q5P2T77MESNEU2XXSZKYXKE5TWMXIHTMPJTSCILTA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":305992851,"name":"Algoneer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/a90046562def4a428bc74c5a08d6d969.png","unit_name":"AGNR","fraction_decimals":3,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/305992851/","collectible":null,"creator":{"id":3417028622804347400,"address":"6PID3QY44COGICDIVGKB4ZV5B46TWLGLFAXR3R6VH4H54QAQJ3RGR6IMNQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":306034694,"name":"Lofty 4920 E 110th St","logo":null,"unit_name":"LFTY0006","fraction_decimals":0,"total":"2509","usd_value":"56.280000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/306034694/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":307329013,"name":"Lofty 4318 Clybourne Ave","logo":null,"unit_name":"LFTY0007","fraction_decimals":0,"total":"4819","usd_value":"57.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/307329013/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310014962,"name":"AlcheCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/03/ef64e319938b48e69494b82d3eb2da4c.png","unit_name":"ALCH","fraction_decimals":0,"total":"100000000","usd_value":"0.000074780053","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310014962/","collectible":null,"creator":{"id":3393385476150878000,"address":"OJGTHEJ2O5NXN7FVXDZZEEJTUEQHHCIYIE5MWY6BEFVVLZ2KANJODBOKGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310079703,"name":"Lofty 3514 W 123rd St","logo":null,"unit_name":"LFTY0008","fraction_decimals":0,"total":"2366","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310079703/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310928550,"name":"Lofty 14720 Ohio Ave","logo":null,"unit_name":"LFTY0009","fraction_decimals":0,"total":"2432","usd_value":"56.710000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310928550/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":312414178,"name":"Lofty 4312 E 162nd St","logo":null,"unit_name":"LFTY0010","fraction_decimals":0,"total":"2157","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/312414178/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":317188185,"name":"Lofty 9634 S Green St","logo":null,"unit_name":"LFTY0011","fraction_decimals":0,"total":"3367","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/317188185/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":317670428,"name":"Zenny","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/79ba36174bf34f3ab4d48f5f211bc3c9.png","unit_name":"ZENI","fraction_decimals":10,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/317670428/","collectible":null,"creator":{"id":3425812407695415000,"address":"Q7CMKLLZBGHGXNF47YKDMQAZ2LX77TBJZIY6D2GPWSXP3I7TVONUFL2TMI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":324785039,"name":"Lofty 18474 Glenmore St","logo":null,"unit_name":"LFTY0012","fraction_decimals":0,"total":"2784","usd_value":"55.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/324785039/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":327821015,"name":"PEP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/12/07/b23bdf6f604647f9a385d6efa3ca4ffb.png","unit_name":"PEP","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/327821015/","collectible":null,"creator":{"id":3421042998244879400,"address":"VKRVV5JYOMKHEDFDP2WRZGOP4CQXL5X7YTFJS7QNMMF7OM6FFBQD4WNPUA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":328124067,"name":"CC Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/16/45328e736d3d4cfba16284c9879e5566.png","unit_name":"CC","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/328124067/","collectible":null,"creator":{"id":3421036587446513000,"address":"L4JWZGMOYA62KLPURK3F2ABG2KTB5MS2FC6ONQ7LKWITBXYNDXGL76L4A4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":329110405,"name":"TacoCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/07/80c95aafcac349d6af57d7ae76faef42.png","unit_name":"Tacos","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000848959","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/329110405/","collectible":null,"creator":{"id":3425808702869863400,"address":"RJYHW7AVTX332AAODAWM4QKJNMYBI42TYCAT2SFNXU6RP34QZ2OAXYIOLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":330057448,"name":"Lofty 16713 Lotus Dr","logo":null,"unit_name":"LFTY0013","fraction_decimals":0,"total":"2344","usd_value":"53.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/330057448/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":330168845,"name":"KryptoNurd","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/0f1bb5757da84a65baff97294482474d.png","unit_name":"NURD","fraction_decimals":2,"total":"100000000000","usd_value":"0.000003783874","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/330168845/","collectible":null,"creator":{"id":3425809418815050000,"address":"KNURDUNQR5XEKTUGCHKPOFDJ76METNMWIUVWQPMTHYM66EPUBJTDKS463A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":331477055,"name":"Lofty 4245 E 177th Pl","logo":null,"unit_name":"LFTY0014","fraction_decimals":0,"total":"2454","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/331477055/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":331601581,"name":"Lofty 251 Wachtel Ave","logo":null,"unit_name":"LFTY0015","fraction_decimals":0,"total":"2839","usd_value":"56.740000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/331601581/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":338444324,"name":"AlgoWIFI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/29/a7ca67d371cd430e94c27eada34cd985.png","unit_name":"AWIFI","fraction_decimals":6,"total":"4500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/338444324/","collectible":null,"creator":{"id":3393182519828781600,"address":"DAJBS3U73BY2RTH426BWCLO5OZFTKG5NKC6MB3Y3BFM6P7NAC3Y3FEVEJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":339977421,"name":"Lofty 329 Stoneham Rd","logo":null,"unit_name":"LFTY0016","fraction_decimals":0,"total":"2223","usd_value":"58.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/339977421/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":341164928,"name":"Lofty 5003 Deneen Dr","logo":null,"unit_name":"LFTY0017","fraction_decimals":0,"total":"2564","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/341164928/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":343527910,"name":"Lofty 333 Illinois Ave","logo":null,"unit_name":"LFTY0018","fraction_decimals":0,"total":"3889","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/343527910/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":344858966,"name":"Lofty 3905 E 189th St","logo":null,"unit_name":"LFTY0019","fraction_decimals":0,"total":"2352","usd_value":"57.590000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/344858966/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":347948733,"name":"Lofty 4131 Wright Ave","logo":null,"unit_name":"LFTY0020","fraction_decimals":0,"total":"2493","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/347948733/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":349258461,"name":"Lofty 3535 Debby Dr","logo":null,"unit_name":"LFTY0021","fraction_decimals":0,"total":"2220","usd_value":"57.540000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/349258461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":350604095,"name":"Lofty 3429 W 8th St","logo":null,"unit_name":"LFTY0022","fraction_decimals":0,"total":"3452","usd_value":"52.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/350604095/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":351807576,"name":"Lofty 3133 Estes St","logo":null,"unit_name":"LFTY0023","fraction_decimals":0,"total":"3892","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/351807576/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":354715064,"name":"Lofty 6914 Polonia Ave","logo":null,"unit_name":"LFTY0024","fraction_decimals":0,"total":"2242","usd_value":"59.460000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/354715064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":356682443,"name":"Lofty 1380 Kimball Cv","logo":null,"unit_name":"LFTY0025","fraction_decimals":0,"total":"3208","usd_value":"53.550000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/356682443/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":357651871,"name":"Lofty 19416 Winston St","logo":null,"unit_name":"LFTY0029","fraction_decimals":0,"total":"2352","usd_value":"47.900000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/357651871/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":359624611,"name":"Lofty 3976 Stillwood Dr","logo":null,"unit_name":"LFTY0028","fraction_decimals":0,"total":"2792","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/359624611/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":360767798,"name":"Lofty 7757 Lamphere St","logo":null,"unit_name":"LFTY0031","fraction_decimals":0,"total":"2141","usd_value":"54.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/360767798/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":365261108,"name":"Lofty 3038 Sinclair St","logo":null,"unit_name":"LFTY0034","fraction_decimals":0,"total":"3032","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/365261108/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":367097138,"name":"Lofty 3561 Daleford Rd","logo":null,"unit_name":"LFTY0036","fraction_decimals":0,"total":"4220","usd_value":"57.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/367097138/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":368464732,"name":"Lofty 2724 Chatsworth St","logo":null,"unit_name":"LFTY0038","fraction_decimals":0,"total":"1718","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/368464732/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":370073176,"name":"Hest","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/07/f86d602b532a4a6fb78c72c39aa4de49.png","unit_name":"HS","fraction_decimals":1,"total":"20000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/370073176/","collectible":null,"creator":{"id":3411792269919758300,"address":"MC3DY6TZJ4TBV3ZXIGWNAU3RDLNPORSEM3YWMR6TTWY2ULA77A6TF46LBE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":370245186,"name":"Lofty 11400 Linnet Ave","logo":null,"unit_name":"LFTY0040","fraction_decimals":0,"total":"3012","usd_value":"55.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/370245186/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":371435087,"name":"Lofty 1039 Mt Vernon Rd","logo":null,"unit_name":"LFTY0042","fraction_decimals":0,"total":"2198","usd_value":"57.390000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/371435087/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":375201811,"name":"Lofty 445 Lipford St","logo":null,"unit_name":"LFTY0043","fraction_decimals":0,"total":"2922","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/375201811/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":377975532,"name":"Lofty 1677 Walker Ave","logo":null,"unit_name":"LFTY0037","fraction_decimals":0,"total":"4222","usd_value":"52.860000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/377975532/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":385007719,"name":"Lofty 10917 Fidelity Ave","logo":null,"unit_name":"LFTY0049","fraction_decimals":0,"total":"3254","usd_value":"55.510000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/385007719/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386183165,"name":"Lofty 4326 E 175th St","logo":null,"unit_name":"LFTY0041","fraction_decimals":0,"total":"1934","usd_value":"57.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386183165/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386192725,"name":"goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/ed7089ee90c04610911f925f8e4fde7e.png","unit_name":"goBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"77255.651168764452","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386192725/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386195940,"name":"goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/07/6f6d84d6589c4b2f97182e586e8a1ceb.png","unit_name":"goETH","fraction_decimals":8,"total":"15000000000000000","usd_value":"1494.380940148985","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386195940/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":387246614,"name":"Circanomics Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/0008a150d3cf4a0f953af26c68530f90.png","unit_name":"CIRCA","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/387246614/","collectible":null,"creator":{"id":3429749473127210500,"address":"GCQHYQBLVQGWDYNTAX47XHHXURIAK3SX2A5IS3NZD3U2QYBA72JBTAQ3S4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":387809238,"name":"Lofty 9919 S Oglesby Ave","logo":null,"unit_name":"LFTY0054","fraction_decimals":0,"total":"3538","usd_value":"54.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/387809238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":388502764,"name":"Svansy Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/db94be02df7a40bcb7663c46e56b05ae.png","unit_name":"SVANSY","fraction_decimals":6,"total":"420420420420420420","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/388502764/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":388592191,"name":"Chips","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/f8bfd63773ba4517ae7b20714cf8ee40.png","unit_name":"chip","fraction_decimals":1,"total":"10000000000","usd_value":"0.001057458900","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/388592191/","collectible":null,"creator":{"id":3424291520212732400,"address":"ZCG3G65JJJ24GQQP2DWLA34J3TMHEXATMUOOGM2SBGIPMI7HAIOTAPWLIA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":389294682,"name":"Numbers Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/31/e48fe87a17ff44359c21e4fdd85083d4.png","unit_name":"NT","fraction_decimals":2,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/389294682/","collectible":null,"creator":{"id":3389748826092946000,"address":"V54H3GDGF2SZCTDZX3GF4LOYBHZ222IJKQBDMNB5KJJPDPUIGIJ5DLLA5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":390982964,"name":"Algo MoonBoi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/59e0aa02f8774623a0e45ae16433b03e.png","unit_name":"MOONBOI","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/390982964/","collectible":null,"creator":{"id":3430204340824949000,"address":"OVNUDHIPZDKPARA6IE6KXPEP3VODKH26SNOMWN5J2DAIAOTTHOWMIGZOEU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":391379500,"name":"Dope Panda","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/e5fbd6ca4bfc408e8cd6543abc87e54a.png","unit_name":"DPANDA","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/391379500/","collectible":null,"creator":{"id":3430261730269931000,"address":"M5TWBEMR35KXIQ25R4QW3A5FH6BA7P2QUYUDIIKW3VV2JP3BSRPVZOQFIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393401013,"name":"Lofty 3878 Windermere Rd","logo":null,"unit_name":"LFTY0046","fraction_decimals":0,"total":"2792","usd_value":"53.180000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393401013/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393495312,"name":"Algorand Faucet Drops","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/06/f66ec380d84e4722a65b705aa6763cc8.png","unit_name":"AFD","fraction_decimals":8,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393495312/","collectible":null,"creator":{"id":3430547902565927400,"address":"FAUC7F2DF3UGQFX2QIR5FI5PFKPF6BPVIOSN2X47IKRLO6AMEVA6FFOGUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393498731,"name":"Gramo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/23/971670ed64974c48ae4a67dfc06397ab.png","unit_name":"GRAMO","fraction_decimals":2,"total":"2000000000","usd_value":"0.007554585152","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393498731/","collectible":null,"creator":{"id":3430550509568508000,"address":"5B3YN5IB3ZWLW45T4D4MNKSVAQLATCC4QPINWCJRUL4ZXDMYMKLPKTHQ4Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393537671,"name":"ASA Stats Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/01441daa0f554e38914ca4c4b1f93999.png","unit_name":"ASASTATS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000069008476","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393537671/","collectible":null,"creator":{"id":3430556721290822700,"address":"VKENBO5W2DZAZFQR45SOQO6IMWS5UMVZCHLPEACNOII7BDJTGBZKSEL4Y4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":394602287,"name":"Lofty 5630 Morgan Ford Rd","logo":null,"unit_name":"LFTY0056","fraction_decimals":0,"total":"2990","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/394602287/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":394904431,"name":"AlgorandDoge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/690f0c3461294ce29e9c7b7154b70460.png","unit_name":"Pup","fraction_decimals":6,"total":"100000000000","usd_value":"0.069658682250","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/394904431/","collectible":null,"creator":{"id":3383852385973837000,"address":"Y4FSJDXLXENJG656LZM63Q32UKRWVCXWWYN3EZCWWNXELF3WENZBF2DXBU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":395813328,"name":"Lofty 29172 Oakwood St","logo":null,"unit_name":"LFTY0026","fraction_decimals":0,"total":"2176","usd_value":"59.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/395813328/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":397955540,"name":"Lofty 7014 Raymond Ave","logo":null,"unit_name":"LFTY0068","fraction_decimals":0,"total":"2297","usd_value":"50.070000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/397955540/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":399383365,"name":"MDLc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/02/b77d8293df3945b8a07d8b3e2888302b.png","unit_name":"MDLc","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/399383365/","collectible":null,"creator":{"id":3421042998244879400,"address":"VKRVV5JYOMKHEDFDP2WRZGOP4CQXL5X7YTFJS7QNMMF7OM6FFBQD4WNPUA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":400382442,"name":"Lofty 6422 Mount Ave","logo":null,"unit_name":"LFTY0069","fraction_decimals":0,"total":"2176","usd_value":"52.370000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/400382442/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":400593267,"name":"DeFi-nite","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/1f75ee8b54f247ad879731df4ca3f7f4.png","unit_name":"Finite","fraction_decimals":8,"total":"2100000000000000","usd_value":"0.005452896223","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/400593267/","collectible":null,"creator":{"id":3431296569091431400,"address":"XOGMYSO3KFWDLKIOP47GAIPNCR3EBNY3B3Q5DSJK3FWSSV6XKFNCNGD2TQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":403499324,"name":"Nexus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/f04bddc0437a40feb2b9e2904da36acf.png","unit_name":"GP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000619396","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/403499324/","collectible":null,"creator":{"id":3431564984882340000,"address":"5W3K7JJLHLFPQF7Y2JOOGATKHP46N3HNCZPYYO2XGKPTJ2P7B3KU6GPR54","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":404014477,"name":"Lofty 5541 S Peoria St","logo":null,"unit_name":"LFTY0062","fraction_decimals":0,"total":"5728","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/404014477/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":404044168,"name":"NEKOIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/c0b0c42535884f0f81d402d59634e172.png","unit_name":"Nekos","fraction_decimals":4,"total":"100000000000000","usd_value":"0.000000418908","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/404044168/","collectible":null,"creator":{"id":3431614265700881400,"address":"YI3VSYP3WZHD5MHX3GXVLTWPPLOE36DBJF3CXZCXVAWAC5QRFKJL4DM72I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406361925,"name":"Kitsune Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/39e954cd02d1415db668b05cfad79724.png","unit_name":"KITSU","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406361925/","collectible":null,"creator":{"id":3425817862345634000,"address":"W632WQKYDFHHNE2KK2E4OLXI44PICAWIOM4KWKLJCXNTO4BSVI7Y33TVYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406383570,"name":"Flamingo Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/10/19f4e9ca43d948939055b07da94ec628.png","unit_name":"FLAMINGO","fraction_decimals":0,"total":"1000000000","usd_value":"0.000007268815","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406383570/","collectible":null,"creator":{"id":3431790194237190000,"address":"QFTM2Y54EIKT7C37LBNBZ775JYVCMFBB43ZIDMK4GZQRU2MDUHOERMJZTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406662616,"name":"Lofty 15555 Millard Ave","logo":null,"unit_name":"LFTY0027","fraction_decimals":0,"total":"3208","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406662616/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408177774,"name":"Deli Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/10/0251ef43042b41dca6f582b9063e9bea.png","unit_name":"DELI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408177774/","collectible":null,"creator":{"id":3431930759015404000,"address":"RDEOMCWVI6ZAE6WBZ7XZESNS3EXNDDNQIFZ45NO43J27J3DM6RJZ7UJO6A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408317316,"name":"Lofty 1123 Hudson Rd","logo":null,"unit_name":"LFTY0064","fraction_decimals":0,"total":"2880","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408317316/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408898501,"name":"Loot Box","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/11b46b7567d1423fa24b354e8361438e.png","unit_name":"LTBX","fraction_decimals":1,"total":"100000000","usd_value":"0.002366587464","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408898501/","collectible":null,"creator":{"id":3431449057046339600,"address":"LOOTHTGZ5LIF6M5P6URZMW4BX5UO4IS7KBELOVQDTOJFPS4VGLGD2GA5I4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":409283233,"name":"Cow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/13/61789c9599f34db4b830d8720e639b05.png","unit_name":"Cow","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/409283233/","collectible":null,"creator":{"id":3432026271681166000,"address":"K74USKBEWQDDYKK5NDRNDUFRFBJ3JEABTIYVFZ56QPQB3TMI7U6U6OUC4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":409604194,"name":"AlgOcean","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/f2b71e49bb274fa28b113e9550264efe.png","unit_name":"AO","fraction_decimals":2,"total":"1000000000000","usd_value":"0.000016120279","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/409604194/","collectible":null,"creator":{"id":3430346618770448000,"address":"AOCGODDFYTASGTNBRPVVQR6OI2QZZBXT7PBRRMTBI77FPYQY7YZSGWNPZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":411182963,"name":"Lofty 1456 W 85th St","logo":null,"unit_name":"LFTY0072","fraction_decimals":0,"total":"4662","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/411182963/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":411484181,"name":"Lofty 10917 St Mark Ave","logo":null,"unit_name":"LFTY0076","fraction_decimals":0,"total":"2748","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/411484181/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":412056867,"name":"Shosha","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/7165814bef924adca6047fcc2aca5ee1.png","unit_name":"SHSA","fraction_decimals":6,"total":"88888888000000","usd_value":"0.001080802080","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/412056867/","collectible":null,"creator":{"id":3420661122582866400,"address":"ZJK6VO7IXL5MI3NCLQX4PODILB6IMS3CNTKTRHZBJX3GEQQ4HPATF4Z7PI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":415479257,"name":"Lofty 12808 Gruss Ave","logo":null,"unit_name":"LFTY0078","fraction_decimals":0,"total":"2330","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/415479257/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":415780733,"name":"Lofty 8143 South Sangamon St","logo":null,"unit_name":"LFTY0059","fraction_decimals":0,"total":"7021","usd_value":"50.560000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/415780733/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":421233661,"name":"Lofty 3024 W 103rd St","logo":null,"unit_name":"LFTY0073","fraction_decimals":0,"total":"1824","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/421233661/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":423448944,"name":"GoSayHELLO App","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/21/145fa8f5026f40c2b2ed0743abb69c09.png","unit_name":"$HELLO","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/423448944/","collectible":null,"creator":{"id":3382943197261643300,"address":"XSQI4X6RLYVCXYIHY4XDQOY5AMAUCWE6R2CJE7O4WQS2BZWT75DRIBDT4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":423834123,"name":"Lofty 2094 W 34th Place","logo":null,"unit_name":"LFTY0082","fraction_decimals":0,"total":"4266","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/423834123/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":428719354,"name":"Lofty 9583 Pagewood Ave","logo":null,"unit_name":"LFTY0061","fraction_decimals":0,"total":"2415","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/428719354/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":428942742,"name":"Lofty 9423 Denison Ave","logo":null,"unit_name":"LFTY0077","fraction_decimals":0,"total":"3672","usd_value":"55.480000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/428942742/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":433379445,"name":"SUPERIO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/dc375044e4f0492c846a43aea5db4e9a.png","unit_name":"SUPER","fraction_decimals":0,"total":"1000000000","usd_value":"0.000006413594","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/433379445/","collectible":null,"creator":{"id":3432683514022518000,"address":"EF5CFMVEMFP4WYALTFM5IN5SVFEWT6ANH4DEDENISMC7TFCQ56B3FQDXRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":433935394,"name":"Lofty 12028 Wade Park Ave","logo":null,"unit_name":"LFTY0084","fraction_decimals":0,"total":"4442","usd_value":"53.680000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/433935394/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":435335235,"name":"Crescendo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/24/3cd8641f086f49e2bce13f1b0eb5e745.png","unit_name":"CRSD","fraction_decimals":0,"total":"1500000000","usd_value":"0.000043624775","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/435335235/","collectible":null,"creator":{"id":3432157179666702300,"address":"H7X55NPJUIQKW3X6RWHDDS6KDKNFSM2UHE3JVVELM5TRK2PTF7WHGZHF3Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":437070179,"name":"Lofty 8708 Willard Ave","logo":null,"unit_name":"LFTY0089","fraction_decimals":0,"total":"2638","usd_value":"49.420000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/437070179/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":438690404,"name":"Lofty 20413 Kingsville St","logo":null,"unit_name":"LFTY0050","fraction_decimals":0,"total":"2174","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/438690404/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":440238741,"name":"Lofty 1388 Penhurst Rd","logo":null,"unit_name":"LFTY0093","fraction_decimals":0,"total":"1486","usd_value":"57.390000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/440238741/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":441139422,"name":"goMINT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/07/a18b76933abf48db96cd2539421e897b.png","unit_name":"goMINT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000265669149","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/441139422/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":442594211,"name":"Prismatic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/aad03647b0f446f781cf60b9a7eba030.png","unit_name":"PRISM","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/442594211/","collectible":null,"creator":{"id":3434989018478679000,"address":"UIGRDPXZR67HDDJEOXBRBC7SBR32NK2JRY5QBQBUF2IIJFXEY6UZ235PBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":443323227,"name":"Lofty 1278 E 187th St","logo":null,"unit_name":"LFTY0094","fraction_decimals":0,"total":"1717","usd_value":"56.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/443323227/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":444035862,"name":"ZONE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/b805bf2f81fa40f9adb2c76430a0c2e7.png","unit_name":"ZONE","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000239066914","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/444035862/","collectible":null,"creator":{"id":3435146754338201000,"address":"DSD64N54TOAORLOM77EGKC4N3L55N45WLXUV3I24HZBJLY5YX22VXATHTA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":444108880,"name":"CryptoTrees","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/c562278771034e90ba0cf0e44b6edb7a.png","unit_name":"TREES","fraction_decimals":0,"total":"50000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/444108880/","collectible":null,"creator":{"id":3435157056506940400,"address":"FC74MJE3LPG3WH2CLNJ6MQQTVT6B3D6X43XQ7YG57TPFOJ4ZHAXSYPNYQI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445347483,"name":"CARE TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/27/b396f1cc7e4944bb8e4024a669467f06.png","unit_name":"CARE","fraction_decimals":4,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445347483/","collectible":null,"creator":{"id":3427058129317908000,"address":"AKPR4BQRRTWRU3G25HWFYVE5TKAO7NH5G3CHZV74HHFCYNL7S42KQTQELA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445362421,"name":"MAGMA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/8f7199ab4e674d588c8f35a9fd50bef0.png","unit_name":"MAGM","fraction_decimals":10,"total":"7770000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445362421/","collectible":null,"creator":{"id":3430765302984945000,"address":"KE5A23DGZUKXMC3ZRBO2X3DP3HOD6F5ELV4KXS3ORTX27GNRR7PRRHZRPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445905873,"name":"AlgoLeagues Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/31/3e203e5c3a8a4b189748410c04e3a4a5.png","unit_name":"ALC","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000021793924","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445905873/","collectible":null,"creator":{"id":3435378606869009000,"address":"AALCLBZHQFU4WGR5P6ZV2PUIFMMGP3PBBBU2IQH7GTPWI2SX5TMPSTDZEE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":446220964,"name":"Animal Style","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/05/be64484c106e4bd3ba3b766f86b895f8.png","unit_name":"ANML","fraction_decimals":3,"total":"33000000000","usd_value":"0.000128756742","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/446220964/","collectible":null,"creator":{"id":3435416896562526000,"address":"O3YA35Y2USVK3H3EANMLVONV2ZREDL3LV7DT4PT3ZOVNSNSKDS3Y3REBGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":446545048,"name":"Lofty 7542 & 7656 S Colfax Ave","logo":null,"unit_name":"LFTY0096","fraction_decimals":0,"total":"16168","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/446545048/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":449485006,"name":"Lofty 428 Cross St","logo":null,"unit_name":"LFTY0095","fraction_decimals":0,"total":"4882","usd_value":"58.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/449485006/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":451431994,"name":"Lofty 3139 West Blvd","logo":null,"unit_name":"LFTY0100","fraction_decimals":0,"total":"4486","usd_value":"56.610000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/451431994/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":452047208,"name":"SockHODLER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/92dd1f0850a14c66a9efefbc7165e0ef.png","unit_name":"SOCKS","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000048677112","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/452047208/","collectible":null,"creator":{"id":3436093522890249700,"address":"ZVHNS7B5A7FBLGEHBVA6URY2SEPJUZDMZTRJCTITC7XOTCJCJ5GJKTTNQA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":452399768,"name":"Vote Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/fc5401f46e5c41feb5caea3e394f198e.png","unit_name":"Vote","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.025919920369","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/452399768/","collectible":null,"creator":{"id":3436132583180807000,"address":"P65LXHA5MEDMOJ2ZAITLZWYSU6W25BF2FCXJ5KQRDUB2NT2T7DPAAFYT3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":457007402,"name":"DarkDragonWing","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/12/36e59f3eab3e45bfb7848b33bde3ecc5.png","unit_name":"DDW","fraction_decimals":0,"total":"1000000000","usd_value":"0.000121378114","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/457007402/","collectible":null,"creator":{"id":3436750538177044000,"address":"MWX3TP37DTWKSEFALZSXTVNTON3PRXN75C2LEBDJHFCB65WDSNSZQZWFXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":459493039,"name":"Lofty 25 Circle Dr","logo":null,"unit_name":"LFTY0065","fraction_decimals":0,"total":"2922","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/459493039/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":460608994,"name":"Lofty 3031 W Flournoy St","logo":null,"unit_name":"LFTY0099","fraction_decimals":0,"total":"6837","usd_value":"49.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/460608994/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":461849439,"name":"PariToken","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/48106be1965a47ac9c04d2510f3b5980.png","unit_name":"PARI","fraction_decimals":3,"total":"1000000000000","usd_value":"0.000013031402","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/461849439/","collectible":null,"creator":{"id":3434472385640308000,"address":"ZPSI2EEZR3TTQKVPW2TBRYYDHK7RDYGFSDJPCVL67VVU3KPJ6DBRLUP5BI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":462627255,"name":"Lofty 3834 W Polk St","logo":null,"unit_name":"LFTY0060","fraction_decimals":0,"total":"9027","usd_value":"46.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/462627255/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":463554836,"name":"AlgoFund","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/a92805b135da4ab6a6fa88aa8ea93720.png","unit_name":"ALGF","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/463554836/","collectible":null,"creator":{"id":3437758665330286600,"address":"ARX43T73PF6HBLYSGHEIGMD3W5V3D4WRSCVF27QKVN6I2OEGP5A5BYTMNY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465553355,"name":"Lofty 665 Chapman St","logo":null,"unit_name":"LFTY0086","fraction_decimals":0,"total":"4242","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465553355/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818547,"name":"bALGO","logo":null,"unit_name":"bALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818547/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818553,"name":"bUSDC","logo":null,"unit_name":"bUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818553/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818554,"name":"bgoBTC","logo":null,"unit_name":"bgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818554/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818555,"name":"bgoETH","logo":null,"unit_name":"bgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818555/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818563,"name":"bSTBL","logo":null,"unit_name":"bSTBL","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818563/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465865291,"name":"STBL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/4be5bd01707d4ce0ab0d77507ba14e72.png","unit_name":"STBL","fraction_decimals":6,"total":"1000000000000000000","usd_value":"1.005057153865","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465865291/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465984936,"name":"Foodie Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/16/466678b49dc5468a99890433787b2d84.png","unit_name":"FOODIE","fraction_decimals":4,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465984936/","collectible":null,"creator":{"id":3430822285046750000,"address":"EEGSBZA7VI3WVMRVCF6QLJAFAQYVZYZPGXHGFSHICK5BSS3S5JZTEDQU24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":467134640,"name":"RDinitiativ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/bdd64e12ba7143d187f027c6ea59ff1b.png","unit_name":"RDINI","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/467134640/","collectible":null,"creator":{"id":3436724451319204400,"address":"WVEU2WIOTG7WBQBKALOAI7QBC5AXBO3U24GV363RXRG5HFO6NXWCHK6XN4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":467518794,"name":"LOLCatz 😻","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/10/d58458a3ebd644ac89c202603a302210.png","unit_name":"LOLZ","fraction_decimals":7,"total":"690000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/467518794/","collectible":null,"creator":{"id":3430765302984945000,"address":"KE5A23DGZUKXMC3ZRBO2X3DP3HOD6F5ELV4KXS3ORTX27GNRR7PRRHZRPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":468433605,"name":"Lofty 755 Robinwood Dr","logo":null,"unit_name":"LFTY0063","fraction_decimals":0,"total":"2660","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/468433605/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":470842789,"name":"Defly Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/9c4319c94bc848568d257025a97b5dba.png","unit_name":"DEFLY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000406739660","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/470842789/","collectible":null,"creator":{"id":3438754230687260000,"address":"ZSASGQZ37L5SVV2VSEKBJTSRTNVPV3IJ7NEWM6BRCXY5AZD5HQLLVYU76I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":471808654,"name":"Lofty 7704 Mallard Dr","logo":null,"unit_name":"LFTY0087","fraction_decimals":0,"total":"1968","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/471808654/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":478549868,"name":"BirdBot","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/27/8ac9a289e7514dccb4d881b70527525d.png","unit_name":"BIRDS","fraction_decimals":0,"total":"50000000000","usd_value":"0.000003658810","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/478549868/","collectible":null,"creator":{"id":3424778168135302700,"address":"I6OCQ7C2KVDVT6ARZAG5JNWBJLVVF6PLEBTCJP7CCK3DKTLSNUFXDMWTCQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":478989144,"name":"Sovrgn Farm Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/15/3117d266a51d4e1faf65f668de91a753.png","unit_name":"SFT","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/478989144/","collectible":null,"creator":{"id":3432694266418891000,"address":"S4YFP2U4CBZMDX7V3PMJGODRTUQKVB2YAUYJNLFVNVOE3UDRV77SRDWI4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":498684064,"name":"BULO Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/7324be280c364f04b218057f49310980.png","unit_name":"BULO","fraction_decimals":2,"total":"100000000000","usd_value":"0.000001577526","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/498684064/","collectible":null,"creator":{"id":3440292065840607000,"address":"JI2OYVVAU7XONKPZJJ4SW2IT6SIJ55SMGP4R4HFPAPBIVIWYEQVEJUEP2E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":499213551,"name":"MariCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/01/43201abbe673407e8384465440cbf020.png","unit_name":"MCOIN","fraction_decimals":3,"total":"10000000000000","usd_value":"0.001254607629","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/499213551/","collectible":null,"creator":{"id":3440329086145238000,"address":"AV6SOIK4RTZCUAVFOSIDJUPCOPVZCUJCX63QE7WNFP77DCSFOWOFV2HNPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":500105167,"name":"Lagosrand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/11/f90c868b0a84457f97694466188355c8.png","unit_name":"LAGOS","fraction_decimals":0,"total":"420420","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/500105167/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":507472097,"name":"Inu Moo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/01/a2df8aa7fabe4f7584ea0b60d201ab49.png","unit_name":"INUMOO","fraction_decimals":0,"total":"1000000000","usd_value":"0.000249052787","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/507472097/","collectible":null,"creator":{"id":3386301789383790000,"address":"OAXQZTYXGLCA5YUVYGTKHBXPUUD2UGV6UTFA36X3POAMQEQAVWHHKZFMJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":509808838,"name":"Webblen","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/641e316ce5e7488dae485c1733b81832.png","unit_name":"WBLN","fraction_decimals":6,"total":"1150000000000000000","usd_value":"0.000000002469","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/509808838/","collectible":null,"creator":{"id":3440875000259275000,"address":"L6NW6ACFA3IGTHI4SJAYWNT4MATWLOLOF2XWSUXA64COAKRPB26BCNO77I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":510337930,"name":"🦴 Bones ASA 🦴","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/55614ab6defc46d39b48b15e2b3a99b8.png","unit_name":"Bones","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/510337930/","collectible":null,"creator":{"id":3440946361340652000,"address":"FVNYRKC7ALUAYJPYSKEDBEJL5NOVG32YTZKS7FC2U5OINAAKJYMNIPKHB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":510647803,"name":"High Potential","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/06/ef3518205365482bb26e85d29a0070cb.png","unit_name":"HiPo","fraction_decimals":4,"total":"500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/510647803/","collectible":null,"creator":{"id":3440977446869875000,"address":"ITO5D463VM2BOZRD62VK4IL5ITCVD37P2PM3WXYB5RZUIG4ORLHBURPMLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":511028589,"name":"Jim Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/09/42bdc0d38c0c49e3b6aab4cb18e77070.png","unit_name":"Jimmy","fraction_decimals":4,"total":"500000000","usd_value":"0.706219496532","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/511028589/","collectible":null,"creator":{"id":3433292699800911400,"address":"UBAZS6OD3JPK3N7MA7NCNFHWQAJUWPALDIGNZIHWXNOBWGZ3MM2MUBVBK4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":511491168,"name":"CujoToken","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/22b4b4d061ab495185be0a8ec9497da8.png","unit_name":"Cujo","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/511491168/","collectible":null,"creator":{"id":3441134840482031000,"address":"ONHRGY7XFZBDL7DXYDE4RKSZOQ5SOZM6FZIV7KO7A4ANM23QTFT3WSEF3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":514670697,"name":"Sober","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/e54bd073223945789058a4f0788c8d81.png","unit_name":"Sober","fraction_decimals":0,"total":"780443365","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/514670697/","collectible":null,"creator":{"id":3441404995332024000,"address":"D73ENF5SH3YYVC2MF35BUYRLXO5KII7S2F3LPSDZQFAMIL3UAVF7WVQU2E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":522963891,"name":"AlgoPatties","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/c8002ac800a84eaa9f2a85a0256e1fdd.png","unit_name":"Patties","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/522963891/","collectible":null,"creator":{"id":3442079674617712000,"address":"7HXDPTUENSU564CR2B4ACTFWHFCJE6W7I57CMRKHJMXL72SN5RK2JCBNJE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":523605642,"name":"SeedBomb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/c2770ff652174ca7bae7113ffc7cb84b.png","unit_name":"SEEDS","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000002626348","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/523605642/","collectible":null,"creator":{"id":3441772521570359300,"address":"SVECSHKRCU3YSX2WJF53FXUTPU7FMAKSQ5WCSQILEGFOUXAAXPVR7ZR5EU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":523683256,"name":"AKITA INU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/26/420020ac77b64fa58847e418588ecc1c.png","unit_name":"AKTA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000690454020","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/523683256/","collectible":null,"creator":{"id":3442143362984500700,"address":"QUUQHH4HJ3FHUWMKTKFBUA72XTSW6F7YLLTRI7FWENJBKQYWTESSCZPQLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":527575200,"name":"Lofty 3435-3437 Alberta St","logo":null,"unit_name":"LFTY0105","fraction_decimals":0,"total":"5386","usd_value":"55.780000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/527575200/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":531777911,"name":"Lofty 3106 Quiet Lane","logo":null,"unit_name":"LFTY0098","fraction_decimals":0,"total":"2153","usd_value":"50.790000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/531777911/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542087210,"name":"Pact","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/2279e07dc2144ea6bbbd18e0ddcebeab.png","unit_name":"Pact","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542087210/","collectible":null,"creator":{"id":3430798490059611600,"address":"OA4KNWW3QKQAG6ICOVCTJ6OBKGVENLAQPREL5F5L5V5T3CBXADJQVDOASA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542132831,"name":"ASA Portfolio","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d03f245ded434aeb9c232a554e0146e7.png","unit_name":"APF","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542132831/","collectible":null,"creator":{"id":3442847774793053000,"address":"APFMUNO2LDZIKAJDRUFDQNADNOQYRLLBASKELIXRZIKTYSDQ2VO6EWJZ5M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542874179,"name":"Freckle","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/07/025333ff5b8a42178775962893224924.png","unit_name":"FRKL","fraction_decimals":6,"total":"500000000000000","usd_value":"0.000019278191","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542874179/","collectible":null,"creator":{"id":3443742221382765000,"address":"FRKLUVNAQGQBW6IB7RFV53LSHD4DHV3L2C3BLG3PMXVJKBVUWCSTQQ2IAY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":544217506,"name":"Spindle Yarn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/01/07/67dff76328f345af8687c1bbe5ef9329.png","unit_name":"YARN","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000894907526","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/544217506/","collectible":null,"creator":{"id":3442084995654079000,"address":"ZPYPH6SGX6Z2RRPU3C6DIYAK6DCOEMSHUILB6LGSHCODMOSBKYK5UF24UU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":546354584,"name":"Trust","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/05/4648ee554b0d4c78827693f207596864.png","unit_name":"TRUST","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/546354584/","collectible":null,"creator":{"id":3441813046546392600,"address":"6MHGASWJFFMMMBS2VXZB6WPTLFCTJFNEURYC3EOW363JM32D5LWR7QRNUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":551031469,"name":"Aquarius Fund","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/17/214f6008691c4473833627b2403605e5.png","unit_name":"AQF","fraction_decimals":2,"total":"50000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/551031469/","collectible":null,"creator":{"id":3444573891569762000,"address":"7K7WKUEUCE2AWDGQG45JVHUDKNHYKWMHII6C2ULV4PO4OR5WZP74J2NHJA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":553615859,"name":"Alvacoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/03/73ec4cc395664dc29daa6c53f378c91c.png","unit_name":"ALVA","fraction_decimals":2,"total":"2400000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/553615859/","collectible":null,"creator":{"id":3438114803477852700,"address":"PACKHZVVUHKEWNR5W3JNZPKSQOKUUXN7DO7P5BT6KCLOTYY5ZN5NBF764U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":553656096,"name":"KarbonX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/16/fe362730851c4147a243b5e3323f044d.png","unit_name":"KBX","fraction_decimals":8,"total":"500000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/553656096/","collectible":null,"creator":{"id":3436476895651484000,"address":"YYXGNBKWCHWACPGEYPQSKGDSJ32NO3JJYGTAQDNGUGDWAEQ2GXR6RIHOJI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":554633918,"name":"Leaf","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/20/3f682ed16d67482daacee420f6088103.png","unit_name":"Leaf","fraction_decimals":0,"total":"4200000000","usd_value":"0.000004176406","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/554633918/","collectible":null,"creator":{"id":3442547824651461000,"address":"SZIK64PU6BVIEAEUM3F3E64DY5MPI2BFXC3R6JZ3KXQOMWMI5V77FXBT4Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":555540865,"name":"80Acres","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/836bcad954814a33beca0e2ac9764626.png","unit_name":"ACRES","fraction_decimals":6,"total":"8000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/555540865/","collectible":null,"creator":{"id":3442302972700519000,"address":"OCXJ7SGYP5TJXYEF537KYMXH7SAAAKDKXT5CTOXCE7L3OTZEFUVSOJNHNY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":555868957,"name":"Lofty 3493 W 119th St","logo":null,"unit_name":"LFTY0106","fraction_decimals":0,"total":"2258","usd_value":"46.930000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/555868957/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":558143260,"name":"Lofty 3634 Bosworth Rd","logo":null,"unit_name":"LFTY0107","fraction_decimals":0,"total":"10408","usd_value":"43.250000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/558143260/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":558978094,"name":"Vybe","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/27/776c4aeabb8f42858978361c25f404f4.png","unit_name":"VYBE","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000032145838","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/558978094/","collectible":null,"creator":{"id":3400121277356722000,"address":"YDCDHR2TAIOHZZ2VX4WHHJFFTAINPCO3HXCMQPTDAAZHIQR5YTWNQCKPKQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":559219992,"name":"Octorand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/3d737e8879c3429697ae90b1f0bd7578.png","unit_name":"OCTO","fraction_decimals":6,"total":"1000000000000","usd_value":"0.019177048548","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/559219992/","collectible":null,"creator":{"id":3445240692982327300,"address":"NP5K3WA5H6SBM36DJDZDMPFDVQPRIX6RAXNZ3H6EIC32K6C75YNAMM6Z44","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":560039769,"name":"Drakk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/b6ad30d8309d4fe5be7688301d9a2b54.png","unit_name":"$Drakk","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/560039769/","collectible":null,"creator":{"id":3445345047583997000,"address":"UXXYI4CPUIZ27UTWNL42VO7EG5LQGRQHLNKD2JIPVHEBZ7T7JXYOHAGW4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":567114163,"name":"Lofty 3178 W 41st & 9510 Silk","logo":null,"unit_name":"LFTY0108","fraction_decimals":0,"total":"3548","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/567114163/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":568879303,"name":"Karen Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/5e24239202344ddcbeec304c2d910480.png","unit_name":"KRN","fraction_decimals":9,"total":"999999999000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/568879303/","collectible":null,"creator":{"id":3446132415548011500,"address":"J6YN6JQ62PD5FQURILY53GZ7OWND7NPNPQ7BBZCE5TUJCQQGHW2OIUB54Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":569120128,"name":"AlgoScout Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/f339b006471443f982e3f5bb22dea3ac.png","unit_name":"SCOUT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000053485422","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/569120128/","collectible":null,"creator":{"id":3436666267603129000,"address":"EUTCNLFQVWU6VKWEAISWUQZKWRAMEUEZ3W5HO4QSCBCG2OEN4ANCAONMXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":575353596,"name":"Wageroo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/04/6bdcc2c6a6674baaa6bbc7565b8efbed.png","unit_name":"ROO","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/575353596/","collectible":null,"creator":{"id":3446686812466322000,"address":"S3RUG2SBMA6NRZKH5QHRQFDKVWNQAQERCQUFQGXK567YALQOSYGIOUOOJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":575358142,"name":"Wageroo DAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/14/f17efddcb49e4a929649919b5044c037.png","unit_name":"xROO","fraction_decimals":0,"total":"10000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/575358142/","collectible":null,"creator":{"id":3446686812466322000,"address":"S3RUG2SBMA6NRZKH5QHRQFDKVWNQAQERCQUFQGXK567YALQOSYGIOUOOJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":577176220,"name":"Trust","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/05/7a56cd69a4404f1ebd4dc9644ecda74a.png","unit_name":"TRUST","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/577176220/","collectible":null,"creator":{"id":3446851193803294000,"address":"WPOVFSJF44TXMPXF37CXW4FMWLJLY47NYW7GAUIP6I4GY2WFOV3H2BY77U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":579451052,"name":"Lofty 3850 W 17th St","logo":null,"unit_name":"LFTY0111","fraction_decimals":0,"total":"3334","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/579451052/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":581154878,"name":"Lofty 1845 W 48th St","logo":null,"unit_name":"LFTY0109","fraction_decimals":0,"total":"4430","usd_value":"47.970000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/581154878/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":583495589,"name":"Lofty 1174 Tampa Ave","logo":null,"unit_name":"LFTY0112","fraction_decimals":0,"total":"1887","usd_value":"49.610000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/583495589/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":593826822,"name":"MADIBA Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/27/a987e26d27144020b921a758ae486176.png","unit_name":"MADIBA","fraction_decimals":9,"total":"27000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/593826822/","collectible":null,"creator":{"id":3448360997724806700,"address":"RJD222IPKJMUHOTU3TTBCJGUKTQA5KEOSSD5H2GW2XMS42JDFJDTB4C7TA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":598341134,"name":"Lofty 1133 Bethany Ave","logo":null,"unit_name":"LFTY0113","fraction_decimals":0,"total":"1645","usd_value":"55.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/598341134/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":601894079,"name":"Dark Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/748c250e57f54d97ae062ea0d34c05ae.png","unit_name":"DC","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/601894079/","collectible":null,"creator":{"id":3426123588496844000,"address":"AL6F3TFPSZPF3BSVUFDNOLMEKUCJJAA7GZ5GF3DN3Q4IVJVNUFK76PQFNE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":602119108,"name":"Lofty 1090 Diagonal Rd","logo":null,"unit_name":"LFTY0114","fraction_decimals":0,"total":"1797","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/602119108/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":607120057,"name":"Arima","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/554df6e099a64cd1ad32fa873d5b10db.png","unit_name":"ARIMA","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/607120057/","collectible":null,"creator":{"id":3427800748700414000,"address":"O64DGIWBB4EMQBGDE6YDNSYO3LHTKG7NJORB7UATPRPU2OPIMEL3FVNTHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":607591690,"name":"Glitter Finance","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/03/31/f9ea6d6a95c449f4964bed2f6c532e2f.png","unit_name":"XGLI","fraction_decimals":6,"total":"125000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/607591690/","collectible":null,"creator":{"id":3449726104494162000,"address":"CHYCTAKOYI73E4BPZT44IDKERVRGBPJTCBWSUL7SYJKSC6RBZHBG5O72CA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":610886011,"name":"Veterand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/29/556839f2e2954686820dfc7041ca2f95.png","unit_name":"VETS","fraction_decimals":6,"total":"108000000000000","usd_value":"0.000190598510","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/610886011/","collectible":null,"creator":{"id":3450063961275745300,"address":"37XLB55H2J4RLP5G5CPARFFL4Q7NSG43KVXCIH4ARI6KXT6XL66IXVU7YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":612770026,"name":"Royal Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/26/b9a52e862a71456bb0fbbb7385eb18ef.png","unit_name":"ROYAL","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/612770026/","collectible":null,"creator":{"id":3450232615649699000,"address":"SRSHQTCLGD3QPORZ22T3LLFID5ZI3CV7K26XW7AQCOC5G5M6A6AQ3KMDWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":613608234,"name":"Orbital Gnome Strikers","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/2104fbb0baf541f2b42a309476ae7539.png","unit_name":"OGS","fraction_decimals":9,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/613608234/","collectible":null,"creator":{"id":3335622963868434000,"address":"5TOOCJSAZBPBV4LFH26JBJYPJXGQ4XCYAT44Z6ETZT6DHQIEIBTYBYW4CM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":624410813,"name":"Paint","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/04/6ca96a82993d4127bdf499bb1a6782a7.png","unit_name":"PAINT","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/624410813/","collectible":null,"creator":{"id":3451154653150603000,"address":"PAINTQ3GDTPI65SQU22GDABYVYGXUESB5GOFK5COUFRZPKXU7Q6FHUQRLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":627910594,"name":"ecostar","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/e261da8641494e4c8c7ca7bee2238e0e.png","unit_name":"ESR","fraction_decimals":4,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/627910594/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":628459294,"name":"ALGOESG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/21/5dd24bd8368448fd977bf75d125f0bf6.png","unit_name":"AESG","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/628459294/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":638273451,"name":"Lofty 7411 Elton Ave","logo":null,"unit_name":"LFTY0115","fraction_decimals":0,"total":"2464","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/638273451/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":638594993,"name":"KaniCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/08/d217f32b42e74093804e0f10eb97a5cd.png","unit_name":"KANI","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/638594993/","collectible":null,"creator":{"id":3452520187809582600,"address":"KANIU7774XFX3WKKWSCWKDPAAHU3EOBLQGZDRJVTAKUT5RGOK352WZG3HY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":639001259,"name":"SuperMeow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/4942cae30acc4087b04836dc260ab964.png","unit_name":"SMW","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/639001259/","collectible":null,"creator":{"id":3452564827519330300,"address":"Z7WYVYWVHMWIRMELIQC52UOSP7U5IFNJL2LY46UEUQWKEUDKCA2LQS36DE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":639641542,"name":"Lofty 7480 Halpin Dr","logo":null,"unit_name":"LFTY0116","fraction_decimals":0,"total":"2410","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/639641542/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":640873368,"name":"Elephant Nips","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/1b72a675d1914b42934757d8c18aad5d.png","unit_name":"NIPS","fraction_decimals":4,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/640873368/","collectible":null,"creator":{"id":3420226833884530700,"address":"LWT6235B2XIVC3BB4ENQGD72S3QE5JJCWOZAUPBJ2PXPZGCAMXPFIG5UCM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":643125984,"name":"INNOVATION COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/8c9c58c3b255461c89bc290ca8a79b90.png","unit_name":"IVNC","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/643125984/","collectible":null,"creator":{"id":3452996143620953600,"address":"NSJ7GARXY7J67KK6OT6XCXIQC6QVOPQVN4HQDJCYTK7FNIURYCY64UMLYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":646502690,"name":"Lofty 15711 Grovewood Ave","logo":null,"unit_name":"LFTY0117","fraction_decimals":0,"total":"4125","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/646502690/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":648664981,"name":"Lofty 14320 Granger Rd","logo":null,"unit_name":"LFTY0118","fraction_decimals":0,"total":"3079","usd_value":"55.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/648664981/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":649973549,"name":"Lofty 640 N Cicero Ave","logo":null,"unit_name":"LFTY0119","fraction_decimals":0,"total":"10207","usd_value":"45.690000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/649973549/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":651739129,"name":"Lofty 656 E 126th St","logo":null,"unit_name":"LFTY0120","fraction_decimals":0,"total":"1722","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/651739129/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":656876671,"name":"Lofty 2082 W 91st St","logo":null,"unit_name":"LFTY0121","fraction_decimals":0,"total":"2724","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/656876671/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":657291910,"name":"CC Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/a6593ca2cb8a4d9db55ea500d9db78f2.png","unit_name":"CCT","fraction_decimals":0,"total":"600000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/657291910/","collectible":null,"creator":{"id":3454539379898559500,"address":"AORTDA53YAXKOSEB4MGYKWQRENRD2CDECECYNJYUUNVLVQKR5AZYJGZKMM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":658399558,"name":"Poof Poof","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/19/83a056aa845348b58d3e3ea6476f2201.png","unit_name":"$Poof","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/658399558/","collectible":null,"creator":{"id":3454668203008814600,"address":"QFBUIUMCH6OZDNB7PQSFT7YNQJMSHWCLJ52UXZDGL6XUDUQVMQYUE6X4XM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":661277818,"name":"Lofty 8201 Madison Ave","logo":null,"unit_name":"LFTY0122","fraction_decimals":0,"total":"9694","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/661277818/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":664464508,"name":"Lofty Ohio 3 Property Package","logo":null,"unit_name":"LFTY0123","fraction_decimals":0,"total":"6762","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/664464508/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":665953422,"name":"Swiftcoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/07/e975a2948aa941aa9e21f89e1ef49c05.png","unit_name":"SWFT","fraction_decimals":5,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/665953422/","collectible":null,"creator":{"id":3435710578463853000,"address":"4YVYGOJKDIYRHUQ2JX3VE7UZETLR6FM7QK3RRQAU5QFIUOQDNW2TNZGPIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":670777243,"name":"Lofty 1773 Ball Rd","logo":null,"unit_name":"LFTY0124","fraction_decimals":0,"total":"1931","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/670777243/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":672810002,"name":"Lofty 621 E Le Claire Rd","logo":null,"unit_name":"LFTY0125","fraction_decimals":0,"total":"49760","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/672810002/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":672913181,"name":"goUSD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/06/cd72e5d58d9f4e199c23ba8060883d55.png","unit_name":"goUSD","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.006389673773","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/672913181/","collectible":null,"creator":{"id":3456326829105035300,"address":"PNC3CKZTHOIMGMSG7KPUCF3XA6ILZMBXMD5YVOBIWO2BJ43ZJ6M775JVRQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":674925395,"name":"Gradian","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/566380f5378e4ff796599f9b825aa30a.png","unit_name":"GRAD","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000004220877","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/674925395/","collectible":null,"creator":{"id":3456532255860458500,"address":"TJNVXDMVJN3BIBGNFF3BFKY3Q3M4CIDYFR6LYTETESUSHELVPMXVTRBVPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":679119565,"name":"Daffi Test A","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/d2269c6ab33b407fa0ec5943807c4693.png","unit_name":"DTESTA","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/679119565/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":680408335,"name":"bvALGO","logo":null,"unit_name":"bvALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/680408335/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684201351,"name":"Respectful Development Daf 1","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d139388198fc4095b23954bcbee01dbb.png","unit_name":"RDDAF1","fraction_decimals":1,"total":"300000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684201351/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684477003,"name":"Lofty 809 Kenmore Blvd","logo":null,"unit_name":"LFTY0126","fraction_decimals":0,"total":"6076","usd_value":"57.240000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684477003/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684649988,"name":"GARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/4f523b68851343648a8f3bf649f2b464.png","unit_name":"GARD","fraction_decimals":6,"total":"18400000000000000000","usd_value":"0.289221037760","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684649988/","collectible":null,"creator":{"id":3457587546975675000,"address":"5ZWDKQVBJL6VHZIKXQOLRM37ZS4O5EFXTDT2DS7YZS6UY5KRS6OWSOZRXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686505742,"name":"Folks Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/b926e386fe3f407483dc404100d6ef2d.png","unit_name":"fALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.168871674098","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686505742/","collectible":null,"creator":{"id":3457791577778044000,"address":"AV6PFVXWDQ7RVNQYOEXCWXCLXVJ5V57WVMVQZ2TWH4EKTB7GSWKUIAUPXQ","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686505743,"name":"Folks Rewards Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/84f1956601d7480e9e651c978a7c6e09.png","unit_name":"frALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686505743/","collectible":null,"creator":{"id":3457791577778044000,"address":"AV6PFVXWDQ7RVNQYOEXCWXCLXVJ5V57WVMVQZ2TWH4EKTB7GSWKUIAUPXQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686508050,"name":"Folks USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/1453ffaba1c6485387809cc4464b09d4.png","unit_name":"fUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.124169304547","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686508050/","collectible":null,"creator":{"id":3457792007657474600,"address":"ILER7WB5L46KQ5XV4QXT2WLWV4OOVDKSOEK6PSJ5YQYNQ6ZFRM2SJH54UY","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686508051,"name":"Folks Rewards USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/2e78844669aa42a9bb92fed29ad12aac.png","unit_name":"frUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686508051/","collectible":null,"creator":{"id":3457792007657474600,"address":"ILER7WB5L46KQ5XV4QXT2WLWV4OOVDKSOEK6PSJ5YQYNQ6ZFRM2SJH54UY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686509463,"name":"Folks Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/0c6d4ef38b224670a1775587b5b97803.png","unit_name":"fUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.030208934979","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686509463/","collectible":null,"creator":{"id":3457792236619059700,"address":"CO73GSVE53EEHFAKFTVKIJKKYZ52SJ24EJUKCH5ZUMHVIQYLAT7W5QQ2Y4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686509464,"name":"Folks Rewards Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/2db3008b2907445b873473be29d68b29.png","unit_name":"frUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686509464/","collectible":null,"creator":{"id":3457792236619059700,"address":"CO73GSVE53EEHFAKFTVKIJKKYZ52SJ24EJUKCH5ZUMHVIQYLAT7W5QQ2Y4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686510134,"name":"Folks goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/a42fc2490e5e4964bbb50e062ecb07de.png","unit_name":"fgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":"77352.665838870531","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686510134/","collectible":null,"creator":{"id":3457792347131332600,"address":"GE5UOI4HKMMEEV2Q4X2OOTOOMBI7XCYROUZ5RDQEUC5WJ62NXNTB3NVVOM","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686510135,"name":"Folks Rewards goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/159c5f270bae41758706d2840a899b08.png","unit_name":"frgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686510135/","collectible":null,"creator":{"id":3457792347131332600,"address":"GE5UOI4HKMMEEV2Q4X2OOTOOMBI7XCYROUZ5RDQEUC5WJ62NXNTB3NVVOM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":688540506,"name":"EXTREMELY BULLISH.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/04e9796c983b4b83b95e0d7acdc159ce.png","unit_name":"XBULL","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/688540506/","collectible":null,"creator":{"id":3429065283998512000,"address":"BUAIHS5TKDEGASEFBSZT7AQAA2UY5C6WXI6DDV3423MEIH3VYMRK5S2R4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":689171215,"name":"Doubloon","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d140814071cf474683d722787706d4ae.png","unit_name":"DUB","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/689171215/","collectible":null,"creator":{"id":3458168158208809000,"address":"NEX7N2U36UHBTRHJA4T3WEOOGYMPXL56ICNO4CCJAJBYFJSA7PZJU33H7U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691139538,"name":"Lofty 723 12th St","logo":null,"unit_name":"LFTY0127","fraction_decimals":0,"total":"2995","usd_value":"51.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691139538/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691727565,"name":"MXNc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/04/59f1feae17cb4ffcb3ec4aa09f665946.png","unit_name":"MXNc","fraction_decimals":2,"total":"1844674407370900","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691727565/","collectible":null,"creator":{"id":3458520148399915500,"address":"FUJRXM3BO7ITQPJUQ5Q3RDJAQPEGWLPDS2UUOBRC4GCC2XJXA5RTVRVM6Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691916156,"name":"Carpet","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/9ec0ea998bbd4d599cd0862bc2112a49.png","unit_name":"GSD","fraction_decimals":6,"total":"420420000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691916156/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":692083444,"name":"Sigma Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/1f305bef6c3c48b2b8215920080f4695.png","unit_name":"SIGMA","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/692083444/","collectible":null,"creator":{"id":3458569267468095000,"address":"S7HV644NYMZXVIXWREZFLNUQC5ECBFDV3T7JRAE3SEWBUHHT3HHU4NMV4Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":692584955,"name":"Lofty 9902 Garfield Ave","logo":null,"unit_name":"LFTY0128","fraction_decimals":0,"total":"1836","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/692584955/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694067049,"name":"Lofty 1015 Wycomb Dr","logo":null,"unit_name":"LFTY0129","fraction_decimals":0,"total":"3095","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694067049/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694408528,"name":"Folks goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/bb8b35598508405a9380577068ab0714.png","unit_name":"fgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":"1498.036123661567","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694408528/","collectible":null,"creator":{"id":3458879967974990000,"address":"7LPNIZUPBUUSIEJ5GLYUAYOUQ4RH2K3AEPKVM7RAXHPVVKB447WELWJWRA","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":694408529,"name":"Folks Rewards goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/6046fa6038964118a65be4ff84c16dd0.png","unit_name":"frgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694408529/","collectible":null,"creator":{"id":3458879967974990000,"address":"7LPNIZUPBUUSIEJ5GLYUAYOUQ4RH2K3AEPKVM7RAXHPVVKB447WELWJWRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694432641,"name":"Governance Algo 3","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/233cc34a664f41999a02e86550715510.png","unit_name":"gALGO3","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.159239339840","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694432641/","collectible":null,"creator":{"id":3458884814856320000,"address":"4STYTA6TLA2YIPVDX6CAGFD3I6FOAUFXEXVY4C6SAFF4GU557OENP5JBJM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694474015,"name":"Folks Governance Algo 3","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/b839e91c64d345d0b6717c43a8bc3c1b.png","unit_name":"fgALGO3","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694474015/","collectible":null,"creator":{"id":3458892616162087000,"address":"OOQXOIN4RSNF6KHYTEEAYJ33R4F6GI5D5L2XMFPP2PBKNDQAP5ILMZIKE4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":695242274,"name":"Lofty 1432 Sara Ave","logo":null,"unit_name":"LFTY0130","fraction_decimals":0,"total":"1950","usd_value":"51.640000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/695242274/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":697325251,"name":"Lofty 10724 Gooding Avenue","logo":null,"unit_name":"LFTY0131","fraction_decimals":0,"total":"2501","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/697325251/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":700965019,"name":"Vestige","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/32888fb065e142729433936ca513dfb2.png","unit_name":"VEST","fraction_decimals":6,"total":"100000000000000","usd_value":"0.008621243257","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/700965019/","collectible":null,"creator":{"id":3459837858715650000,"address":"VESTIG3V77NNVBT5SM636UKAZ3M5OQHM76TC5622RQ4Q2XUCYZ5E4ENB3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":701498055,"name":"Lofty 12507 Astor Ave","logo":null,"unit_name":"LFTY0132","fraction_decimals":0,"total":"2453","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/701498055/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":702835587,"name":"Lofty 432 W Peebles Rd","logo":null,"unit_name":"LFTY0133","fraction_decimals":0,"total":"2032","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/702835587/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":706533341,"name":"Lofty 254 Bowmanville St","logo":null,"unit_name":"LFTY0134","fraction_decimals":0,"total":"2108","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/706533341/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":708906045,"name":"Lofty 1248 S Keeler Ave","logo":null,"unit_name":"LFTY0135","fraction_decimals":0,"total":"8780","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/708906045/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":710256863,"name":"Lofty 799 Stadelman Ave","logo":null,"unit_name":"LFTY0136","fraction_decimals":0,"total":"2391","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/710256863/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":711241814,"name":"Lofty 918 Frederick Blvd","logo":null,"unit_name":"LFTY0137","fraction_decimals":0,"total":"1560","usd_value":"52.440000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/711241814/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":712012773,"name":"Cometa","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/09/b1ae6e5300ca467eb1eae867632c49c9.png","unit_name":"META","fraction_decimals":6,"total":"10000000000000","usd_value":"0.002670819419","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/712012773/","collectible":null,"creator":{"id":3461662235754823700,"address":"META7MPEWTCOJMCIWNDLRWQABIC2LGUPJ4MHQYRA2YMI4FKJCMDCAUD5PU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":714763450,"name":"Commie Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/16/2989be6443784c10a20d9c72cc726a99.png","unit_name":"COMMIE","fraction_decimals":3,"total":"3000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/714763450/","collectible":null,"creator":{"id":3462198354349745000,"address":"FM3AZXOCIVXVSOKY7JDXWS5LIPYRX22PI53TTKILOCUEOVTQ35VNHJURHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":714773890,"name":"Ghost","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/14/d3f7e776882e4e3287f09ab9813c3ee7.png","unit_name":"GHOST","fraction_decimals":4,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/714773890/","collectible":null,"creator":{"id":3462204273731623400,"address":"GHSTY64WGZU3UN33N7LZWCWL4V5QIBI4ODUS3CMHCNQ5JRWB7HOF2WG5JY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":715111483,"name":"Lofty 3933 Walsh St","logo":null,"unit_name":"LFTY0138","fraction_decimals":0,"total":"2056","usd_value":"50.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/715111483/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":715627769,"name":"UpsideFinance rewards token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/30/5e06f1bce33a48399fd45bfbf1aede40.png","unit_name":"rUFt","fraction_decimals":2,"total":"4000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/715627769/","collectible":null,"creator":{"id":3462370716693895700,"address":"23LZXF45UBHC6SRY4WVFJG35GDBN7IO5K6IEC6P6XENFPFXMAIYM2FFAG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":716444460,"name":"JOURNEYMAN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/ce83ce1f092b45e1b3ea882a521b30a4.png","unit_name":"JMAN","fraction_decimals":0,"total":"10000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/716444460/","collectible":null,"creator":{"id":3452372111145689000,"address":"IABBK7MMB7HWFLTWAYTNF6JFDGSJXLNVDYJXYYZDJKPDFRJG5WOD2YQQZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":717117066,"name":"Lofty 614 E 97th St","logo":null,"unit_name":"LFTY0139","fraction_decimals":0,"total":"2624","usd_value":"50.410000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/717117066/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":721954274,"name":"Lofty 883 Alhambra Rd","logo":null,"unit_name":"LFTY0140","fraction_decimals":0,"total":"2501","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/721954274/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":722082439,"name":"Glazed","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/24/103ec845f35e42d0961e4826ac7edbe8.png","unit_name":"G","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/722082439/","collectible":null,"creator":{"id":3463472693113427000,"address":"L3SHGR4FUV2E3W326JHKYLN4WLRWCLUC2GDMOJJ62LT5NJACRH43MSBCOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":722955559,"name":"DeCHO Loyalty Token ASA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/06/570873e159dc4d6884f886bb05adb7ec.png","unit_name":"DeLTA","fraction_decimals":2,"total":"3000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/722955559/","collectible":null,"creator":{"id":3463615455930420700,"address":"2C3NUOT42VZ7NULPZSNAHUH27O7EGGGJAGSCBQ5C4ECNTLQE5X4BRJEMHU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":723519637,"name":"Lofty 1848 Baldwin Ave","logo":null,"unit_name":"LFTY0141","fraction_decimals":0,"total":"2359","usd_value":"52.170000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/723519637/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":724480511,"name":"Algodex Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/18/6bb1a11e0baf4de0ad0ee26542f22e47.png","unit_name":"ALGX","fraction_decimals":6,"total":"6000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/724480511/","collectible":null,"creator":{"id":3463848896696475000,"address":"KD4C65WJYNZIOEOYYUXHYDVVMLSRDCEVCC6LJD7X4A7MHCV4S6U4Q4INRU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":726778924,"name":"Feet In Feet Ass","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/30/747d8ec205df44ecb112481023ab7484.png","unit_name":"FIFA","fraction_decimals":6,"total":"420420000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/726778924/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":727929695,"name":"USDE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/c8ef16984c504c169c86eb5eecf1124d.png","unit_name":"USDE","fraction_decimals":2,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/727929695/","collectible":null,"creator":{"id":3458192822996417000,"address":"KME7XKE44NQ6DCNZCSYNHPCUJ6XZYD4X3DVNKLQSWANX33R43HYSRJS7VE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":729369978,"name":"Fuji LNG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/d96b9b832e374a7eb508d2991eb89e32.png","unit_name":"FUJI","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/729369978/","collectible":null,"creator":{"id":3458170520024182300,"address":"CJRBE2WM7S4FOBCIAZ7HN7VPMO5NTS5H2YOE5ORBC7H524K2TUDVSMOOPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":737045660,"name":"Hoxo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/15/e2a8c051d48d41df8a0bd9e75abdf300.png","unit_name":"HX","fraction_decimals":10,"total":"750000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/737045660/","collectible":null,"creator":{"id":3465103255044450000,"address":"4PYKZXOWB7SKOYENYALBVMD5RRPHXF5NBVQXYAHARJ46VJQ4U7E4V6AAHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":739680855,"name":"Lofty 5401 Odom Ave","logo":null,"unit_name":"LFTY0142","fraction_decimals":0,"total":"11877","usd_value":"51.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/739680855/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":743695671,"name":"Koala Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/20/ecd2be71e5dc4e9abb567f955b0c4598.png","unit_name":"KOCO","fraction_decimals":8,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/743695671/","collectible":null,"creator":{"id":3465982402112699400,"address":"45EIT7MXKPUICMHZN4WZVHIPLUGK5MVR2YOPZMXVQRJ4XJRJO5MUC7OHVI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":744665252,"name":"pTokens BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/22/d9b8fcbeec324b6c9cd9cec139d59664.png","unit_name":"pBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"38699.267916773700","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/744665252/","collectible":null,"creator":{"id":3466129025551063000,"address":"GRUMBUH3QPDPKMOBKHTC76LF3SK4S4B2HFUIQXDMY3GIKXBT6ZR7Q43UZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":745410378,"name":"⬤━⬤━⬤","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/09/06/9edddd5cc2184740a0cdf992f4d28877.png","unit_name":"algodots","fraction_decimals":7,"total":"2760000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/745410378/","collectible":null,"creator":{"id":3425793835585799000,"address":"ZNUJKWPCXNO4OROKDJEL6T3N6AO3J6GYINELU3BS3CUEA3SCXC4ZPGZJGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":747635241,"name":"Day By Day","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/23/5a0a22a6f4674e8fa6c3a62309a9e8bf.png","unit_name":"DBD","fraction_decimals":6,"total":"10000000000000","usd_value":"0.002362894939","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/747635241/","collectible":null,"creator":{"id":3466601130188137000,"address":"7PZPNF4FEHPYHURHTQDKGVCQBSBQWR6RKSMKEWJDYXW3QWTQ7XF6OCH56Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":751289888,"name":"Folks PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/41fc87dbfa0f4b3182f794e18ce16f3e.png","unit_name":"fPlanet","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.000024308593","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/751289888/","collectible":null,"creator":{"id":3467220790815896600,"address":"ZPC33CGUNQW4TTCMPYFXPGP6PMDKZJ3TR6ICACJS3A5YMKB5VBIBKYTIJ4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":751289889,"name":"Folks Rewards PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/c45fbfade31848c384096bf782bd3a5d.png","unit_name":"frPlanet","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/751289889/","collectible":null,"creator":{"id":3467220790815896600,"address":"ZPC33CGUNQW4TTCMPYFXPGP6PMDKZJ3TR6ICACJS3A5YMKB5VBIBKYTIJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":753137719,"name":"ButtCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/4709763d14714a0d834e86b0d5d10bf3.png","unit_name":"Butts","fraction_decimals":0,"total":"1000000000","usd_value":"0.000040510210","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/753137719/","collectible":null,"creator":{"id":3467492643320674000,"address":"WPSXMTO4XMC7FXMQ2N6F4DWGJGY3WWUPJJEQTT45ELSFRPJG2BWVFGVKN4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":753890862,"name":"Prisms","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/06/e2118f8a29274c0294660609878dd2a1.png","unit_name":"PRSMS","fraction_decimals":0,"total":"11000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/753890862/","collectible":null,"creator":{"id":3431544393913249300,"address":"PRISMGW7ORL7FKVRJRI6BQYAPSDMU64723AKULZ37SV6W4DS3IGBP4QTLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":754051439,"name":"Lofty 4551 Sunny View Dr","logo":null,"unit_name":"LFTY0143","fraction_decimals":0,"total":"1950","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754051439/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":754411575,"name":"Mona Lion","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/65afd9c6a9114e1b88f6b695b7b23b0c.png","unit_name":"MONAL","fraction_decimals":0,"total":"22","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411575/","collectible":{"title":"Mona Lion","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/4bb6e3e989ea4654b667edfda2b431b7.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411575/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411576,"name":"Mona Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/893aa5994fbf47d588e1988616ede035.png","unit_name":"MONAO","fraction_decimals":0,"total":"4","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411576/","collectible":{"title":"Mona Opulous","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/dd49d2a9471d482b85a6eff23e4b74b9.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411576/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411577,"name":"Mona Pink","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/cde71e5832a74998a8f1518982d2d5ec.png","unit_name":"MONAP","fraction_decimals":0,"total":"100","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411577/","collectible":{"title":"Mona Pink","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/191d81913dd74fd39a96ea838861c9a4.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411577/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411578,"name":"Mona White","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/90d889ac6027487d94b67154fc9037a3.png","unit_name":"MONAW","fraction_decimals":0,"total":"733","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411578/","collectible":{"title":"Mona White","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/818796dcdd3a4d52b41fa393323aca69.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411578/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754859229,"name":"Egha'S Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/27/94fc1c3bd18d467580b90d575c1ca0db.png","unit_name":"EGHAS","fraction_decimals":6,"total":"1500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754859229/","collectible":null,"creator":{"id":3449531857706583600,"address":"ZVWBJI5Y3NVF4UBCVNEM2KIUZWVESAVLSPPPPTGWEJJHEM7IROJQ2XT4UM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":755027431,"name":"🏡 ESTATE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/02/f3639c55b40241b295e931fd17b69c41.png","unit_name":"EST","fraction_decimals":8,"total":"5000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/755027431/","collectible":null,"creator":{"id":3467103793268314600,"address":"ZXWJAW52VXTGKTTGT7D24HBMYXB7MIQJERVAX7UPFBQ7ZCM7JCXTEL4SCI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":755988202,"name":"Technosplurg","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/04/8d27fc5865f945a8ab81bdbb8dee9894.png","unit_name":"TCSPLRG","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/755988202/","collectible":null,"creator":{"id":3467880892396428300,"address":"GL6YZ4VD7SPABSBQDSVXZDLKB3I7DUVTOVTIFENVYEKP4M4RLLMR62IKZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":756578163,"name":"Moist Grannies","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/18/6697ea8246014324a5e9498258dbf2f9.png","unit_name":"MOIST","fraction_decimals":0,"total":"69000000000","usd_value":"0.000000054798","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/756578163/","collectible":null,"creator":{"id":3467905326052691000,"address":"CBSN7BZX4EBE3JBHDH6WXI56MSUPUBVMYRRBGGOXZU73GJ7FKND6HNOSUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":757039174,"name":"X","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/def1265a0f444261b6846a6541c3e0f3.png","unit_name":"XTEND","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/757039174/","collectible":null,"creator":{"id":3468109414950566000,"address":"4VLPUMZ5CPPGAGAB25Q4BI3IUMVU3J2OTSDNZKAZHH7FIBLUDGTXSV64YA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":758090502,"name":"PeliCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/4e02c7f9a51447809f470e076478278b.png","unit_name":"PLCN","fraction_decimals":0,"total":"20000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/758090502/","collectible":null,"creator":{"id":3468181151338406000,"address":"XDHKYPX7PD3DECCFZOZLRT6LJVM26WKIHAJWJIOERXQLK5WK2DFZJSYLR4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":760037151,"name":"xUSD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/30/0220a2bac233429c9c89147156f68981.png","unit_name":"xUSD","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.972338171076","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/760037151/","collectible":null,"creator":{"id":3438329826210025500,"address":"GYGNWIEHFJ2XRJGCZNV2NIHHLMP7TQJU73NGWBAAKHMNAJAMCYW4VR6E3M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":760111092,"name":"Lofty 3427 Sturdevant St","logo":null,"unit_name":"LFTY0144","fraction_decimals":0,"total":"2024","usd_value":"50.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/760111092/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":762747160,"name":"Doggy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/daba4fe5584b495fa8e782a9f7c6132d.png","unit_name":"Doggy","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/762747160/","collectible":null,"creator":{"id":3461279933363721000,"address":"6ZMZWEC2S5QYH76GZ2AGYLEZWHVACXDHSDZQ6CZLMHITGYRPUYNJ4KUPH4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765000179,"name":"Lofty 1584 Hampton Rd","logo":null,"unit_name":"LFTY0145","fraction_decimals":0,"total":"1874","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765000179/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765171236,"name":"Heepow Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/27/e3e6a6ba64f34307aff17600e840ec2d.png","unit_name":"GRASS","fraction_decimals":8,"total":"100000000000000000","usd_value":"0.000017716092","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765171236/","collectible":null,"creator":{"id":3469361944761917400,"address":"7OI3Y3EKJH34XDHIPJSCYJTU5GKY4SMA7GUAQ5EIRCVWYUZ7PYQHJVWIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765668483,"name":"Meh Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/38f71610c1524bd5b15ef2b216609742.png","unit_name":"Meh","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765668483/","collectible":null,"creator":{"id":3383507716004036000,"address":"ZCGAOA2KG3EHWIUKDR5UZEIR3GZADXAZI4UYDWNOS5RINTZUG5Z57NFNEI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":768368477,"name":"Lofty 703 23rd Ave","logo":null,"unit_name":"LFTY0146","fraction_decimals":0,"total":"1783","usd_value":"49.650000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/768368477/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":769679594,"name":"Lofty 1106 29th Ave","logo":null,"unit_name":"LFTY0147","fraction_decimals":0,"total":"1868","usd_value":"46.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/769679594/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":770563646,"name":"Did An Oopsie","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/d635de1d75a94199ada61c69ef3e61d0.png","unit_name":"DAO","fraction_decimals":3,"total":"420420000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/770563646/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":770865636,"name":"Lofty 4183 E 146th St","logo":null,"unit_name":"LFTY0148","fraction_decimals":0,"total":"1939","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/770865636/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":772180213,"name":"Lofty 3541 Oregon Ave","logo":null,"unit_name":"LFTY0149","fraction_decimals":0,"total":"10454","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/772180213/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":773336712,"name":"Lofty 1236 W 7th St","logo":null,"unit_name":"LFTY0150","fraction_decimals":0,"total":"1667","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/773336712/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":773632446,"name":"ASAinvestor","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/13/2be9c9fada614afb8ce8e114c53f755f.png","unit_name":"ASAi","fraction_decimals":3,"total":"250000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/773632446/","collectible":null,"creator":{"id":3470640759851514000,"address":"ASAIWCUH5Z6JVPRQBAHZTNCOLWHSMNB2UKDDYO4PNGTGSI5YMEJZ4BKI5U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":774347071,"name":"Lofty 209 E 13th St","logo":null,"unit_name":"LFTY0151","fraction_decimals":0,"total":"1559","usd_value":"51.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/774347071/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":775399960,"name":"ruggies ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/15/e8f6402e0ce9471f8f8cdc0d3c4a1711.png","unit_name":"RUGS","fraction_decimals":7,"total":"4200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/775399960/","collectible":null,"creator":{"id":3470958563857295000,"address":"ZXTXGZBR3K4HJ6SEHPXB7A25MWUKL72EBXP7A7HGB5RYUPTPL37XQAZ574","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":776678944,"name":"The Mexican National Peso","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/18/4f78b8b49f9e4c8c8733c0de3899eff3.png","unit_name":"PESOS","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/776678944/","collectible":null,"creator":{"id":3469622177923670000,"address":"E2FRD2EGVGCKST3XEIYQYKHKNYXXQNFARUO35QVSIFNABBK63Y2NJGCOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":776845434,"name":"Lofty 3531 Oregon Ave","logo":null,"unit_name":"LFTY0152","fraction_decimals":0,"total":"5109","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/776845434/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":777668262,"name":"Ol Dirty Bitcoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/45f1671a71f94686b824df3aabc65f35.png","unit_name":"Dirty","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/777668262/","collectible":null,"creator":{"id":3470313011908675600,"address":"QFJOEIG3BESAEEYZOALINCM3KUEDSRFXPB2D5JH56P4LDZM7U6O4ITGT6A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":777747959,"name":"Love","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/ab1d2f0bacef4113b9384e7ae87b5023.png","unit_name":"INLOVE","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/777747959/","collectible":null,"creator":{"id":3471246625297819000,"address":"YXP2YNJAQ4JUZHHFLH6LTRFUYX6MSGPVIN7COYCB25OQVMKJEUQ2AF5DLA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":778730364,"name":"The New Musician","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/20/b4072e1070b04acdbbc54706acab3b73.png","unit_name":"MUSIC","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/778730364/","collectible":null,"creator":{"id":3449531857706583600,"address":"ZVWBJI5Y3NVF4UBCVNEM2KIUZWVESAVLSPPPPTGWEJJHEM7IROJQ2XT4UM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":779159551,"name":"Lofty 12627 Franklin Blvd","logo":null,"unit_name":"LFTY0153","fraction_decimals":0,"total":"6837","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/779159551/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":781289536,"name":"Lofty 615 Rose Ln","logo":null,"unit_name":"LFTY0154","fraction_decimals":0,"total":"1626","usd_value":"49.160000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/781289536/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":781829486,"name":"AQA.EARTH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/04/648a6b23919b498faa0b15699d2d4767.png","unit_name":"AQA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.003719978165","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/781829486/","collectible":null,"creator":{"id":3471964001509901000,"address":"EARTHAICLIKK2IX7LILQNAI47O7LUL67SXALB3XSQNADHPZYC64U4YEYRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":782285248,"name":"Xoge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/18/d9cbecd8def748edb0949b051c7f5ad2.png","unit_name":"Xoge","fraction_decimals":0,"total":"200000000000000","usd_value":"0.000000000047","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/782285248/","collectible":null,"creator":{"id":3464839633380328000,"address":"UE7L3H5HGCVRRC3XGNPL3JG4G24L5JPQCOFU6DXSYZWN22DRYSTM5T5WEQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":783066499,"name":"IceVolt Clean Energy Credits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/06/8060ab302687427a9a7815e1c5b29ab1.png","unit_name":"ICE","fraction_decimals":4,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/783066499/","collectible":null,"creator":{"id":3453503684617311700,"address":"6F5OPQGYR5ND4MMQCTAH6X46NPX76BSV6W4DRMNCGVAEGNPFRR3OTJRDTI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":783214523,"name":"Lofty 1234 Itin St","logo":null,"unit_name":"LFTY0155","fraction_decimals":0,"total":"6148","usd_value":"47.500000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/783214523/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":784533078,"name":"Lofty 26931 Shoreview Ave","logo":null,"unit_name":"LFTY0156","fraction_decimals":0,"total":"2684","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/784533078/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":785583551,"name":"Lofty 566 Nash St","logo":null,"unit_name":"LFTY0157","fraction_decimals":0,"total":"2071","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/785583551/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":787168529,"name":"Grub Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/3b2d8ce7614a41e08c514fd1764824c4.png","unit_name":"GRUB","fraction_decimals":0,"total":"69000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/787168529/","collectible":{"title":"Grub Token","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafybeib3i5h6o3d5r5ifpk52re4fuoczj2cwcgxmyiqenshfn2tmca6thi","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/787168529/","collection":{"id":3495534120166187500,"name":"Gekofam Community Token","description":"Grub Token is the native ASA for all things Gekofam. LFGeko!"}},"creator":{"id":3472727810814567400,"address":"GRUBUZUWHKSIR2UOS4OM3GCSRQZ4V7B5NKF3NEEZ2LZJJ6VLB5R5YWFW4I","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":787358534,"name":"Sheesha Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/23/c177ca82ecfa42db98cb3a49f565d742.png","unit_name":"aSheesha","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/787358534/","collectible":null,"creator":{"id":3472897648975463000,"address":"X2KMFZOC5HLOU4JU5S5HRJPMDDCPZIIUTBNEQVTE5LULET2O6YSTXR75MI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":790088226,"name":"Lofty 296 Huntington Ave","logo":null,"unit_name":"LFTY0158","fraction_decimals":0,"total":"2051","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/790088226/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":790704501,"name":"roobies","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/29/a35e67910c644b3289039da6fcff765a.png","unit_name":"ROOBZ","fraction_decimals":4,"total":"4200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/790704501/","collectible":null,"creator":{"id":3473351595398847000,"address":"QSKM4D2WUROWEJPEELZCTKSAIC5X3RV4VC577KLAHORNDHFUN4Y5X2PDOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":792313023,"name":"Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/11/ce59c84249c24138830b3ff942233dbd.png","unit_name":"xSOL","fraction_decimals":9,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/792313023/","collectible":null,"creator":{"id":3473946901697748000,"address":"U4A3YARBVMT7PORTC3OWXNC75BMGF6TCHFOQY4ZSIIECC5RW25SVKNKV3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":793124631,"name":"Governance Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/5bb49032e46e49999f2cb391f0fe05fd.png","unit_name":"gALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.160099858720","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/793124631/","collectible":null,"creator":{"id":3474124369191585300,"address":"GGP73AZM3CMLDLXUDVR2NIULL3M7SORSI4N7DFIOZTVL62UOVSQUTZYEA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":794509175,"name":"AI ALGO Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/23/e88ac3a3bc974124b833939544851690.png","unit_name":"AIAL","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/794509175/","collectible":null,"creator":{"id":3472932865038180400,"address":"JQMQOJKXJ5IMEBZB4I7WMEPM5AOE7PRG4SK4M5IVSYRMJL7IGXLD7SHD3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":796425061,"name":"Coop Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/12/fe7bbc6e1dae4d25b3d634b82880a018.png","unit_name":"COOP","fraction_decimals":6,"total":"20999999000000","usd_value":"0.014524145902","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/796425061/","collectible":null,"creator":{"id":3474759295718555600,"address":"YJB66DHOF37G53G2B6PUTYOUSBEWIP2SHBFUCRMI35YDCIG5FYVXCTI7AE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":797722803,"name":"CCER Digital Carbon Credits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/27/9dd7f31f049d4a8599357c043ea1815c.png","unit_name":"CDCC","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/797722803/","collectible":null,"creator":{"id":3458170520024182300,"address":"CJRBE2WM7S4FOBCIAZ7HN7VPMO5NTS5H2YOE5ORBC7H524K2TUDVSMOOPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":798651566,"name":"Lofty 542 Sumner St","logo":null,"unit_name":"LFTY0159","fraction_decimals":0,"total":"2736","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/798651566/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":801784818,"name":"Sovrgn Games Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/15/88e9288c1e14407aa05b053e598ce933.png","unit_name":"SGT","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/801784818/","collectible":null,"creator":{"id":3432694266418891000,"address":"S4YFP2U4CBZMDX7V3PMJGODRTUQKVB2YAUYJNLFVNVOE3UDRV77SRDWI4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":805675250,"name":"CONTRACT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/17/96eadb5ef2cb426fbb40e31433c750ae.png","unit_name":"CONTRACT","fraction_decimals":8,"total":"5000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/805675250/","collectible":null,"creator":{"id":3476280894876196400,"address":"TNKXDR75CRXAF4PU5GON56FVOZQGFXPLAG3QDGCKFCGP6PV47AN47C4MS4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":805862344,"name":"NovAu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/24/705310ba1ef949f68dbb8703b6e3c55f.png","unit_name":"NAu","fraction_decimals":9,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/805862344/","collectible":null,"creator":{"id":3476304648359248400,"address":"5ACGPWDDQ3ZRYPZLPPI4WL7WOB3P6QHHS55P6ZHVUGMRE23X7PC5BXSS4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":806008728,"name":"AlgoNews","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/13/b1c57bb4945e4e038e5915f1511a728b.png","unit_name":"ANEW","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/806008728/","collectible":null,"creator":{"id":3432285969121790000,"address":"3IR6NVDEYX34VPLY3PXBR6BLGLI3CGBXFVJRCSLVRYJE6JPD7I4LVPX6XE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":807691608,"name":"DLDH Trading","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/28/be863843578743349e9ce714bf0b5f88.png","unit_name":"TEAR","fraction_decimals":5,"total":"70000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/807691608/","collectible":null,"creator":{"id":3476564998068249600,"address":"4CNH7VXGE4HWB2TWFMOY2TLSUDJXD2DR2GDLQDH2X6YUQRAPPCZ54CXNCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":808769893,"name":"Ice Cold Beer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/17/a9cf26656ab245849e2d013abb195a4e.png","unit_name":"ICB","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/808769893/","collectible":null,"creator":{"id":3380713695766260000,"address":"V4ULMD6VHAP36VSZBBNN2RC5Y4OJF7PQQG6QYR52XUZ3ZXD4FJ5PCFHDWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":808825661,"name":"Wrapped ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/03/f545af1e32f248cfbbef91f64349c23c.png","unit_name":"WALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/808825661/","collectible":null,"creator":{"id":3476802508536428000,"address":"D3DLZFBUJFMJZK62AUMJQKSWKPQ6H3DSU7AAOFS72MBVGOMFXSG4W57RBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":810972054,"name":"AQUA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/10/f69d3ea9d0834e9588526d1de721bae0.png","unit_name":"AQUA","fraction_decimals":0,"total":"80000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/810972054/","collectible":null,"creator":{"id":3477039064211596300,"address":"AQUATWFP7G4Z2ESS5V5JFM2Q7UI26WIXUCRLVPGITIYOBMS2Y4RQ75MDAI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":811721471,"name":"Experience","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/10/11/a26da3af714a40e8bad2b29a6dfc4655.png","unit_name":"EXP","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/811721471/","collectible":null,"creator":{"id":3477408888809350700,"address":"ORDER4VZTADPQQF6RCLUH32PA2DNG2MXONJGBFHSYSGAH2QG3FWDENBYWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812158311,"name":"USDeezNutz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/31a85581223e496d830b1755a2469635.png","unit_name":"USDN","fraction_decimals":2,"total":"694206900","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812158311/","collectible":null,"creator":{"id":3477476941181222400,"address":"UDNYL3ZP4RJCYNFBUZDB4DBOYPCKXF3DE2ZI6H4EOKGURJEAMZLWXW5EXY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812910314,"name":"Soya","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/7a69acb0eef54fb88e66f4b4e531f205.png","unit_name":"SOYA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812910314/","collectible":null,"creator":{"id":3477616162996892700,"address":"BCA246OZWLCLHODEU2HWJUQRDULA4J3F2HWSGXWJD2I57664IHMEAKF46M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812914898,"name":"Cora","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/9aeb202a56c74b8d9d409f443cbd705b.png","unit_name":"CORA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812914898/","collectible":null,"creator":{"id":3477617231019199000,"address":"XAB3MGA43HS4TM6ZIGIGFGGYJREXTRFB4OCTBUX5VQND2R475S23GUYWZA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812917109,"name":"Whea","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/be105269e6454c8b813a63b1256eebcd.png","unit_name":"WHEA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812917109/","collectible":null,"creator":{"id":3477617839258715000,"address":"F4RFBEAHJWK54MNWKFWLVWMWZDGWKOTBWIOYVCJSAAQRPMZ3NKKPOC4TCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813100557,"name":"Lofty 13806 Coit Rd","logo":null,"unit_name":"LFTY0160","fraction_decimals":0,"total":"1971","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813100557/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813116645,"name":"Lofty 142 13th St","logo":null,"unit_name":"LFTY0161","fraction_decimals":0,"total":"2770","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813116645/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813745845,"name":"Discair","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/04/30dc5a63280e4e18b07e518889b4fb2c.png","unit_name":"DISC","fraction_decimals":5,"total":"1321199300000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813745845/","collectible":null,"creator":{"id":3477780142757775400,"address":"GJY4UPLEUVPIA3CAONWEKOV2EY3IYR4KOCKYGLJR5RLSXJO6FHH75M4TWU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815075619,"name":"Lofty 9710 S Avenue L Ave","logo":null,"unit_name":"LFTY0162","fraction_decimals":0,"total":"10484","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815075619/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815485910,"name":"Soyb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/bf99c19eff6d4f3b93ae01205e5e77b0.png","unit_name":"SOYB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815485910/","collectible":null,"creator":{"id":3478127848047674400,"address":"PBQF2IDSOIPVRG2PVYW7AJO4MPTXBQR2R5TNUOMQ54EYFGI7DE5QLFRZXM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815487451,"name":"Corb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/987ae42476e348529f3f53b1315993b0.png","unit_name":"CORB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815487451/","collectible":null,"creator":{"id":3478128201329927700,"address":"PDXDTONOJKLYF6YRJW27OCNCRVXI5KD4DNDAYAV5ULAUM3OAIJWOCUD4QM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815489844,"name":"Wheb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/dae7d4852293404186a3660ee6c53f6b.png","unit_name":"WHEB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815489844/","collectible":null,"creator":{"id":3478128707518287000,"address":"TZAYLYV5JBWQ7IUAHEBLQ6D7CIM4GR7MLPYPHU5V4TSDYRWUP2PYIKVLUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818179690,"name":"AF-BANK-ALGO-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/0ccd15ed00ca47328dccc18c254c8a6b.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818179690/","collectible":null,"creator":{"id":3478697138034723000,"address":"A3SPTZUKQS53TPM5UHXIZMNUJYCZ4YAKJBFWW2U7ZSUG5AP5JJRVTG5D64","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818182311,"name":"AF-BANK-USDC-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/edaff434e2c148089601737cc92a31bc.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818182311/","collectible":null,"creator":{"id":3478697751196750000,"address":"YJ3KDILKFWHWU4QFNBMR2V7HHVGIXPPZDTM37GG3P66ZA4OYQVIJS55XRU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818184214,"name":"AF-BANK-goBTC-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/31a27667b8d54d57ac2c49dc0e30124d.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818184214/","collectible":null,"creator":{"id":3478698167901341000,"address":"Y2X3FH3JZVDGFTYHHCQ7IKY44344Q7BKJ7MRQRLORQWCDRXYKEWDDAUVYY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818188553,"name":"AF-BANK-goETH-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/818b7010360c4693a4c43f4fce31adf4.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818188553/","collectible":null,"creator":{"id":3478699101444460000,"address":"GPX4QUSFS7F5OSKTUQQP7PTL27KI3VJWQQBK2DI53GT5RJPPEGTISMFJ7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818190568,"name":"AF-BANK-USDt-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/2af7f90d92fe4e418675bb7570e5c568.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818190568/","collectible":null,"creator":{"id":3478699589217228000,"address":"UBVMHRP2CRNARNDOHHCZCRLF5CZ2LPONDOYTHOTA7F2DRYUYW57TR7C3II","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818432243,"name":"Dharma Network","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/21/354fc2b80758461c9417ca234ac6cc10.png","unit_name":"DHARM","fraction_decimals":8,"total":"2100000000000000","usd_value":"0.030564474698","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818432243/","collectible":null,"creator":{"id":3470106956748918300,"address":"MVQB37HQTMB4QODRL4MQITMIOOK6CXZQO27ZEU72FZKUKJL33M3MFF3T3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":819609796,"name":"Lofty 783 Leonard St","logo":null,"unit_name":"LFTY0202","fraction_decimals":0,"total":"1661","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/819609796/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":820574818,"name":"Meta Music Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/3ce7ab9ad9ef1d78866f30bb66504832f4d4e35b.png","unit_name":"MMT","fraction_decimals":4,"total":"330000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/820574818/","collectible":null,"creator":{"id":3444573891569762000,"address":"7K7WKUEUCE2AWDGQG45JVHUDKNHYKWMHII6C2ULV4PO4OR5WZP74J2NHJA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":824643542,"name":"OrganizovanýXaoc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/03/4bece31ea1a149a3ac164d98af4d4a3b.png","unit_name":"XAOC","fraction_decimals":3,"total":"600000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/824643542/","collectible":null,"creator":{"id":3432198019412592000,"address":"X4O7NNVFCZQPJCERHLMWFDW43ZQRSXBC7442YSY24WEBJRXMS5DRMGYX4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":828794714,"name":"ThankYou","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/28/7226a7382a904b3b8af1a41ac30bb9db.PNG","unit_name":"THKU","fraction_decimals":6,"total":"90000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/828794714/","collectible":null,"creator":{"id":3480372291140140500,"address":"MLTKFFEJYQ5E32VLNSYNEORPY4ZMCIDN62ADUXCJEZDEAE72KAJK35OSOA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":829992960,"name":"Bartle Doo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/23/66a3d4ef9bb242068463ada0443bcecc.png","unit_name":"BD","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000033614821","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/829992960/","collectible":null,"creator":{"id":3480577152903851500,"address":"7BNBVHRGCKIQUIHQOEDK4CQ3UESRJFAHHJKF4LQ57XXTJOWMTMBDEKXTVI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":833815143,"name":"Cook","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/15/4e51d7c380a24c428778954c99ca65b0.png","unit_name":"COOK","fraction_decimals":0,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/833815143/","collectible":null,"creator":{"id":3481291590496456700,"address":"654D7GDBMZGBC4FG4MZUPG3VU2I46LNVVLQL7BNT6IHAPQS4M3Z5YPJ2Z4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":834658869,"name":"Lofty 4408 17th Ave","logo":null,"unit_name":"LFTY0163","fraction_decimals":0,"total":"1610","usd_value":"48.510000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/834658869/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":835509686,"name":"TateCoin ASA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/21/af718273ab1149a8b61feb70dfbf84c3.png","unit_name":"TOPG","fraction_decimals":0,"total":"26626262","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/835509686/","collectible":null,"creator":{"id":3460133359111870000,"address":"QWNFJNA6JHN6TQFBIYF666LXOHG52FJ3ES67L7GL5FLKBMYPKO6PXJ7I5U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840192844,"name":"Soyu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/567161211f67404fba3331f28912017e.png","unit_name":"SOYU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840192844/","collectible":null,"creator":{"id":3482491021228482000,"address":"4JBIAFOQQM2MEOX3Q4BML6R7XRWNM5GTJKAEV7CSIIZCEIB46LTUBNUQOA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840195963,"name":"Coru","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/2f6957cacf1a42eb9076635686e96f28.png","unit_name":"CORU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840195963/","collectible":null,"creator":{"id":3482491622615378400,"address":"HUKY72FR22P2YG2KONPVZKLLWLF4X6XWJ2DTH2ICPHL2RTAFY4XHZYOZBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840198271,"name":"Wheu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/07afb91f14f5452291c87216f3c7cf29.png","unit_name":"WHEU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840198271/","collectible":null,"creator":{"id":3482492059169235500,"address":"FRTHKO6JJSB2TKQIFXDODXJA2VIP2OIRGJHUM4JJFWUUY2ZOUH2Z2WLUIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841126810,"name":"STBL2","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/icon-2.png","unit_name":"STBL2","fraction_decimals":6,"total":"1000000000000000000","usd_value":"1.413338042640","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841126810/","collectible":null,"creator":{"id":3482671748071651300,"address":"2SK7Q3S3OAKDTNEA4GGBGSVUPERADQGTJ5GPVF4IMTQKI2DGHHRVLS3TLI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841157954,"name":"AF-BANK-STBL2-STABLE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/b0645f4d217d442cb5b66a0d209ad35f.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841157954/","collectible":null,"creator":{"id":3482676885810894000,"address":"AY4WNUDHKIS7Q4WNF2RUYQDJN3WY5D57UOBRSFZTLJ22ZXGNMMJ6GC4XZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841462373,"name":"AF-BANK-AF-POOL-LP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/3e1b2db47b1f45b3b071470140cf58b7.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841462373/","collectible":null,"creator":{"id":3482719192563932700,"address":"A5NNMCRFCHG7RJKIP3SJAVDXJOQWX6J5Q6YT54AMBC2U4BTXQ7GO67YP4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841565461,"name":"Lofty 566 Sumner St","logo":null,"unit_name":"LFTY0237","fraction_decimals":0,"total":"2385","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841565461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":844772414,"name":"Polymeta","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/15/a2f87ea5ba314352a3621126d699f132.png","unit_name":"GROW","fraction_decimals":0,"total":"1000000000","usd_value":"0.000002537567","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/844772414/","collectible":null,"creator":{"id":3482574255468352000,"address":"5DTOHFDMQOADZVWIE25CPB4R7CZO75TXM7KWLXM7DBW5UV7AQQVWG6EH4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":846652486,"name":"Ders Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/25/a8ea2fe1bcd549a9b55445584c3fc895.png","unit_name":"DERS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000000820061","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/846652486/","collectible":null,"creator":{"id":3391199482899115500,"address":"OMHDKCZHDVZWF5WDEUV3T5JVH6UXG2THD26GT62M2VZOWVYN24YAONWUAE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":849191641,"name":"Hesab Afghani","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/25/7ef84712cefa4dbe9ff9e95dfb129ad3.png","unit_name":"HAFN","fraction_decimals":2,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/849191641/","collectible":null,"creator":{"id":3484038800349902300,"address":"P5VB5V7PE7455UHXZBQ67LR37URRJYPGWNM5GU773FCLJY4EM55YO47QTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":856503101,"name":"Early Adopter","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/31/7c0b3641a86f43e78dd6f9ab299ac0c7.png","unit_name":"VYBE EA","fraction_decimals":0,"total":"504","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/856503101/","collectible":{"title":"Early Adopter","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmPK9kFP4ZJ1EGitiDjMzveYSd3u8GPY3esVVsveMQN8EW","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/856503101/","collection":null},"creator":{"id":3400121277356722000,"address":"YDCDHR2TAIOHZZ2VX4WHHJFFTAINPCO3HXCMQPTDAAZHIQR5YTWNQCKPKQ","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":860192439,"name":"Green Earth Blockchain Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/03/64348cb1928149838024dbd3d47c0510.png","unit_name":"GEBT","fraction_decimals":8,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/860192439/","collectible":null,"creator":{"id":3485917502943739000,"address":"LCANL253XDRQ7UGOKZDT3QQYPXHN5HVCNXS3THYN6LX2VRHZHQQ3NFAWTQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":864635185,"name":"ViiKoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/30/239ad30236724ab8a516488e285f6b4c.png","unit_name":"VKN","fraction_decimals":0,"total":"92100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/864635185/","collectible":null,"creator":{"id":3485738300800196600,"address":"6JJRTHY7E65N4KOF6K2VKDMMXEMZSKH5KSHO6BXCZTUUTGTZNOHXZNDPVY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":869882680,"name":"HUG Agency Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/13/de669958911c473dabc55ccbd9f9cc17.png","unit_name":"HUGtoken","fraction_decimals":6,"total":"150000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/869882680/","collectible":null,"creator":{"id":3487556521637291500,"address":"UXEDDO2CFFRYG7RE4FMMEEZ4IEPKAVX5IDMR5AUMN7D6VAO2MIOVH43XO4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":871660982,"name":"WittyCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/25/66c961c43a0141cc84341fc85282bd00.png","unit_name":"witty","fraction_decimals":2,"total":"33334000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/871660982/","collectible":null,"creator":{"id":3399499106887557600,"address":"HSC4FTJJYYT6RGWR6QZG44B3NHRNHOIRZXYX2RL4KBPV47KED3MTUUBK54","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":871930188,"name":"aNoir","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/15/6459353d70c84f688f144c87a2e0ae32.png","unit_name":"aNoir","fraction_decimals":6,"total":"120000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/871930188/","collectible":null,"creator":{"id":3443500667830712000,"address":"PZHE2W4FQAQC53VI5375GRBIH4OBNXBNNQRCCW77J3KIJFN3D3PA7B5X5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":874710054,"name":"Beryl Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/22/f50dc6dddf4d4e99894751f5e1bfca2c.png","unit_name":"BRL","fraction_decimals":10,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/874710054/","collectible":null,"creator":{"id":3484141086633330000,"address":"L7EEJOKTOPAJ5KDLXCW4LV3KTRCQAUZ2UZGBJY2J5EMW64ZHLUOT633Y2Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":877703456,"name":"AlcheGold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/23/6ac773a5ff5546eb979e497b338da25e.png","unit_name":"AGOLD","fraction_decimals":4,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/877703456/","collectible":null,"creator":{"id":3393385476150878000,"address":"OJGTHEJ2O5NXN7FVXDZZEEJTUEQHHCIYIE5MWY6BEFVVLZ2KANJODBOKGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":882856729,"name":"Lofty 8401 Lydia Ave","logo":null,"unit_name":"LFTY0211","fraction_decimals":0,"total":"3774","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/882856729/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":885835936,"name":"MembersOnly Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/ea1976281d914edfa9f51cf9f93c9428.png","unit_name":"MemO","fraction_decimals":3,"total":"1000000000000","usd_value":"0.000039041227","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/885835936/","collectible":null,"creator":{"id":3486913053188163600,"address":"3W3BITROHTZYFCEUSFS2MFAP5RV7OO3FYVA3GBYFUTMA6UJ7HSOBRRRXNI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886409525,"name":"Guardians","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/30/69592c43fd3747c89da319bad61f093f.png","unit_name":"GUARD","fraction_decimals":6,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886409525/","collectible":null,"creator":{"id":3490283777019653000,"address":"OQHHRNGDXMXTTLQXU54TGGT2AMF7PVSVOM3QTBGXBXY6HFJXDOADCWGVPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886452112,"name":"Takos","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/7c0d557adf69483390e84546aee060b6.png","unit_name":"TAKO","fraction_decimals":6,"total":"180000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886452112/","collectible":null,"creator":{"id":3490290823506571300,"address":"6CKBGMR4NYXXB7UCH77MFR6IHJTMMJLCY6DE4NR3Z7MKH4NPWORFQ4MFO4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886638002,"name":"Lofty 110 Gardengate Dr","logo":null,"unit_name":"LFTY0218","fraction_decimals":0,"total":"6645","usd_value":"49.080000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886638002/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887406851,"name":"Wrapped Ether","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/22/9b4009084e964f2ba031b45875400b9c.png","unit_name":"WETH","fraction_decimals":8,"total":"18446744073709550000","usd_value":"1489.484330850244","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887406851/","collectible":null,"creator":{"id":3482845202834208000,"address":"GRH5NFD3A5YZT4IYUVSKGY7X4ZFR4O7FD47PJBHVAXSZ2ZHTJRJD5COPQY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887407002,"name":"USD Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/8dc8afcacd08442f98c55486fa71e6c1.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887407002/","collectible":null,"creator":{"id":3483661505467675600,"address":"BDAMMNG3PAP3TAV3VUXIQEZWZ6NTN45TLPPAPOUEK4V6MUQIRHIBHZAQ5Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887648583,"name":"Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/193cf84939a541f2b0393f3e77abcc63.png","unit_name":"SOL","fraction_decimals":8,"total":"18446744073709550000","usd_value":"107.256614436167","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887648583/","collectible":null,"creator":{"id":3490504734917274600,"address":"IGMTJTPMXURMBEX3J43DH2SVIGZYM73PF3RDDA4PYDXQLCCUGNQLJJKDR4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":891226062,"name":"Coo-Coo Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/13/1de48c3b0179431da4d887658476afc2.png","unit_name":"COO","fraction_decimals":4,"total":"200000000000","usd_value":"0.000609780375","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/891226062/","collectible":null,"creator":{"id":3491157684906260000,"address":"DV3YODLY7GX4KGEKBCQNLBQMEYGZ6EUK4C5N35EJ3BMETDRBGRMZ4I7XYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":891648844,"name":"Wrapped BNB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/eb4ebf036a2b4fc6b3488f7994594d2e.png","unit_name":"WBNB","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/891648844/","collectible":null,"creator":{"id":3491236992259960300,"address":"CRFNJX6KBDBUEHKLTXHPWOAKKCW6YN6IE6GJCARH5IPHJTUXM4UN5KLRA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":892383554,"name":"AL-D Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/25/647c6effe0ef40e5bf90607064dab532.png","unit_name":"ALD","fraction_decimals":6,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/892383554/","collectible":null,"creator":{"id":3491366469375157000,"address":"BTSKPDJRQI7T34OGY2H5WONKUEZMV6MVCF4OCLF3HN36VGME7TEREXZELM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":893309613,"name":"Wrapped AVAX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/14c0bf0d537745798b2932f6422db6f5.png","unit_name":"WAVAX","fraction_decimals":8,"total":"18446744073709550000","usd_value":"16.531274081685","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/893309613/","collectible":null,"creator":{"id":3491535295809217500,"address":"FPFVGQQWLQJNTJIHMAVFGMCGV4FVO654DHUWQCF2XXBPYHNO2YGRJGWFZQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":893504888,"name":"Tether USD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/9c9f24a4eb444869808bafb5f16ee7d3.png","unit_name":"USDT","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/893504888/","collectible":null,"creator":{"id":3483665205483030000,"address":"D22I22SHAKZAE46BTXRN2IEBT75RHL7QT36BLD24QWRULOYE246YQP6HRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":894441297,"name":"AssCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/25/be19c252acb34aa4a7da3d3e72e0632b.png","unit_name":"ASS","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/894441297/","collectible":null,"creator":{"id":3491709755010559000,"address":"YCKYKNSGWBCTUPOZXS6PCFAZ3OVBL5LBH5F4BXREKCYNHV24267IK3ONPY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":894817444,"name":"Lofty 927 Euclid Ave Apt 10","logo":null,"unit_name":"LFTY0263","fraction_decimals":0,"total":"9558","usd_value":"52.950000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/894817444/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":897632162,"name":"Sparkle Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/f88abdad22234e4e881c208e40831d13.png","unit_name":"SPK","fraction_decimals":2,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/897632162/","collectible":null,"creator":{"id":3492301231319416000,"address":"OI2HMMB4CGG5ZZOAYRSCJYE2CX2VRCX4G6WOYKWIHW4GGXZ4DYRFWSCIJI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":897649551,"name":"Denarii ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/10/15f8a8f6cdbe47c891f56a932f7f2032.png","unit_name":"Dfi","fraction_decimals":0,"total":"900000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/897649551/","collectible":null,"creator":{"id":3491362199590327300,"address":"OYFFXVHQXTRWRKBAMVD6OS4YMD2BE4MZGCCYKZ5SHOE3VF6A7QBRIMABXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":900652777,"name":"BANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/10/12/8ff698b822e048b79052137445767290.png","unit_name":"BANK","fraction_decimals":6,"total":"5000000000000000","usd_value":"0.000027954020","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/900652777/","collectible":null,"creator":{"id":3492812165527792600,"address":"E7JYBAQXE2FIY442YBYFJIYWMDVYHRDRSQ2Y4HFSWM5STJC3KOX7C26RBM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":900942105,"name":"Lofty 2515 Coronet Dr","logo":null,"unit_name":"LFTY0236","fraction_decimals":0,"total":"3834","usd_value":"49.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/900942105/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":901634764,"name":"PUPPIT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/17/3e35a3c8404a4718aa8e2dfc3441e9dc.png","unit_name":"PPT","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/901634764/","collectible":null,"creator":{"id":3472469463765492000,"address":"PUPPIT2GZMS5WU6KGD7QVATUDIXXSC6VVMRDPTC2EE65FAW6O3D5TXFSZA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":903033821,"name":"Lofty 1420 Brookhaven Dr","logo":null,"unit_name":"LFTY0206","fraction_decimals":0,"total":"6396","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/903033821/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":904674650,"name":"Flood Rake","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/20/3fb41d92baac4730a159fa35dfcc57f2.png","unit_name":"FLRK","fraction_decimals":2,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/904674650/","collectible":null,"creator":{"id":3493514420970548700,"address":"65WDBMOW27SH6MH4GPYMETLBHJSQ2GVAOTGEZCBA4B2GLCNWPMTDYEBZLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":905108030,"name":"WILD Community Card","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/04/eceda2287aac404298f2604aa93e3258.png","unit_name":"tokens","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/905108030/","collectible":{"title":"WILD Community Card","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmNSMQbdwQMZNhyC3seNCXWCXnUZuwYRLQmDYqvGg3pUSQ","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/905108030/","collection":null},"creator":{"id":3493613007305677300,"address":"WILD3MYMQWRS32QPZHJYYWE4TD4YHDLSASODYJILO2RMIZJI52NXL3AUXY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":906662995,"name":"Dossa Coin ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/20/9f64171f5ea64a79933eba22207edb40.png","unit_name":"Dossa","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/906662995/","collectible":null,"creator":{"id":3421298576625696300,"address":"JI6SLLEG7IGSPCG5KRZ4RX73LVOSYH56UBLKWZSMIWHTAFZUYKNMWGQIJE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":913799044,"name":"Dossa Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/23/7e3bbe6ea6dd4afe815cb436eb1bd6ed.png","unit_name":"Dossa","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/913799044/","collectible":null,"creator":{"id":3494989843702516700,"address":"VYMFKLSAUS24I2ALE552KW22XXKDRSYW3ENIFFRUEKJFSZCZOPEX6XCY7Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":916591005,"name":"S-ALGO-$0.27-2022.11.24","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/26/43dc070f2eb34057a0dfc545edbffd9b.png","unit_name":"SILO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/916591005/","collectible":null,"creator":{"id":3495243536873138700,"address":"QUSJR6VZLYDUBY5KOG2ELKUBMIUF4O5AJITS3F2M6LXLFFLZI3HH7YLZQM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":919889450,"name":"press.algo Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/9dacb21f8193471bb1dfc20976cbd285.png","unit_name":"PDAT","fraction_decimals":4,"total":"140000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/919889450/","collectible":null,"creator":{"id":3484456348222479000,"address":"4NTTXZ4KEELWIMZHM4KFS4SGPRHSA6XZ5LJ65HFC5FT7BJSM2IWREQYMSA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":922346083,"name":"Nimble","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/04/6b0ae9dfca7a485dbfa4ff8e572634bb.png","unit_name":"NIMBLE","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/922346083/","collectible":null,"creator":{"id":3467588673575903700,"address":"6W5X5GJVGXBO6BBXESQRRN67HQDKYMKRFPB2DHQOBHP7ZGTCVXXXXBXETY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":923640017,"name":"Indoor Air Quality","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/31/ebfd9f5398794b8780e57906c434e102.png","unit_name":"IAQ","fraction_decimals":2,"total":"100000000000","usd_value":"0.000816754431","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/923640017/","collectible":null,"creator":{"id":3496119513842050600,"address":"PZOBS6NE3DSHY3TGDZ26LRLXS6TEJTPWES4PPWKDL7LRHT3Z44ARC26A7Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":924268058,"name":"FrysCrypto","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/18/7a46619b1eb648d9a2d68f017df3123c.png","unit_name":"FRY","fraction_decimals":6,"total":"8000000000000000","usd_value":"0.000021119637","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/924268058/","collectible":null,"creator":{"id":3496067542025451500,"address":"V6SGZIWO6OAKUTKERDUFACQBPXMGPCNGEYMUANHRZA475YONW5B4BBLVL4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":933973163,"name":"AlgoMonkeys Banana","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/30/4ba823aff8564f13ae7638290d4acc90.png","unit_name":"BANANA","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/933973163/","collectible":null,"creator":{"id":3494116250517579000,"address":"QNQRC2X7YOUNPASP45PMJWVN7SDYUWLN4WAGCQ3L62WCBJODTMSRGURSCY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":934478981,"name":"OPPORTUNITY CRYPTO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/25/80b79af12fd7493cb22c797d2cabffcf.png","unit_name":"OPYX","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/934478981/","collectible":null,"creator":{"id":3497152342103489500,"address":"O2PWEUVVQCGIRQ627K5PH65JZP3PVFS7VR64S45BTEZZ6NPH47BAU3YU2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":940424110,"name":"Game Master Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/27/d5ee03f91c194855b61062c70a6f80da.png","unit_name":"GMT","fraction_decimals":0,"total":"1000000000","usd_value":"0.000315245312","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/940424110/","collectible":null,"creator":{"id":3403295013098008600,"address":"6BFBZWZTL23IHAW5KH4L2SP42XRJ74DXYKBRE6ERTKP3XLQTOQQEOXL5CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":940635002,"name":"Opulous Vault","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/21/c82f28bbc4ca441f876482c37f1dd16d.png","unit_name":"OVault","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/940635002/","collectible":null,"creator":{"id":3498433904022731300,"address":"R57VNIKENGZVGROIC2VFQX3PXA2IDRHX7PMZT3LNCIB23NTK3L3NSIK5OQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":942870784,"name":"AlgoStar","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/22/68951b39d5a547d18b58d4eeff49fb7a.png","unit_name":"STAR","fraction_decimals":2,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/942870784/","collectible":null,"creator":{"id":3432425846017933000,"address":"YOCENWZN37BM4TDV727S2GE6GL5UMAJPCWCTOVYNICRDG24Y6PWV3I3XME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":942958458,"name":"Omnicoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/13/a098f0d991fd42938603e18c5a89799c.png","unit_name":"OMNI","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000002044374","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/942958458/","collectible":null,"creator":{"id":3498798212233333000,"address":"F3ASUI5GS5J36UTM7UEICQ55GZIIJATKC7RVJRC6E7B4MOLX7HSBR5PRDQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":946763820,"name":"VALIDITA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/21/b0f424ab1bcd4119adf17193782458fb.png","unit_name":"VALIDITA","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/946763820/","collectible":null,"creator":{"id":3499373263061153000,"address":"XEORAKAQ4Y65WHM5GWCIHGZQSN2BJBIEZ4MOU3QL7IKYC7GDZS4NLSTAUE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":947923645,"name":"XListUnicorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/02/02/803e1da0070c4c81ae6f0bbf8a4758af.png","unit_name":"XUT","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/947923645/","collectible":null,"creator":{"id":3494118474139994600,"address":"YQDNHAZHJ7OG76VIC23U4XFOU3R3QW7SMNV6YDE52O6Q2J4NPDCNN7T2YU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":951243359,"name":"Digital Planet Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/24/ddb5bc27d79549cb873445fbf1aa6ed7.png","unit_name":"DPL","fraction_decimals":8,"total":"888888888800000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/951243359/","collectible":null,"creator":{"id":3491366469375157000,"address":"BTSKPDJRQI7T34OGY2H5WONKUEZMV6MVCF4OCLF3HN36VGME7TEREXZELM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":954185193,"name":"Lofty 323 E 9th St","logo":null,"unit_name":"LFTY0220","fraction_decimals":0,"total":"2653","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/954185193/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":955551813,"name":"Lofty 1315 E 114th St","logo":null,"unit_name":"LFTY0300","fraction_decimals":0,"total":"2346","usd_value":"49.210000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/955551813/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":957484854,"name":"deathOS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/13/a249774aeee2413db93a7d1ec69c462b.png","unit_name":"DEATHOS","fraction_decimals":8,"total":"6399999900000000","usd_value":"0.000027416195","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/957484854/","collectible":null,"creator":{"id":3485077640635987000,"address":"UFE4HN3YA7ZQW64NMY7VP5N6ULYY766XZMVP2NCQNWQVWHAUOTUXAUEMTE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958277442,"name":"gmtCOPPER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/dde159aedb2b4ad097bf5578a6f3202a.png","unit_name":"gmtC","fraction_decimals":0,"total":"10000000000000","usd_value":"0.000000008595","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958277442/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958278659,"name":"gmtSILVER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/86fda6b510e445d68097645a554d5183.png","unit_name":"gmtS","fraction_decimals":0,"total":"1000000000000","usd_value":"0.000000084033","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958278659/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958279733,"name":"gmtGOLD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/7081a7bd1cfd40ddafa0df39da877f40.png","unit_name":"gmtG","fraction_decimals":0,"total":"100000000000","usd_value":"0.000000846390","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958279733/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958280887,"name":"gmtPLATINUM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/32ef9820fc8847a98f3d22aae59879b3.png","unit_name":"gmtP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000008707134","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958280887/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":960593591,"name":"Lofty 594 Columbia Ave","logo":null,"unit_name":"LFTY0301","fraction_decimals":0,"total":"2473","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/960593591/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971381860,"name":"Folks V2 Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/13/0dfe26bf265a4556b2e67bf3a244f280.png","unit_name":"fALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.181070367140","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971381860/","collectible":null,"creator":{"id":3503326647810909700,"address":"2ZPNLKXWCOUJ2ONYWZEIWOUYRXL36VCIBGJ4ZJ2AAGET5SIRTHKSNFDJJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971383839,"name":"Folks V2 Governance Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/19/519c04ef7b044d00bfed0d624ffae8d4.png","unit_name":"fgALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.159864660000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971383839/","collectible":null,"creator":{"id":3503327015390600000,"address":"YVIEGXMJYLVJPVHDU4W6VPKRLVTNR66FLFV54AGJ3KXTAW4FIDJOYUMCXM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971384592,"name":"Folks V2 USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/cc19aa59ef064e4fa4f63c96aba9d369.png","unit_name":"fUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.152813306590","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971384592/","collectible":null,"creator":{"id":3503327179361756700,"address":"MIHR7TQMMH2J6Q7PFQQEP7AAPVWPGNMPDKI2WDYDTM5P3RNKPD6X4UXG6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971385312,"name":"Folks V2 Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/7c40b7c7c9bc42c5947baa7bf26907fa.png","unit_name":"fUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.150914730000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971385312/","collectible":null,"creator":{"id":3503327313927685600,"address":"HONE5UB5XL2AKARPJ2FBJMEQ3KD2JRNZQ4MTVXWIWTIC6JDNE6QW2TXVKU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971386173,"name":"Folks V2 goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/9ed91a8336534544a5b58e74b9e991ea.png","unit_name":"fgoBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"77798.532564768255","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971386173/","collectible":null,"creator":{"id":3503327468784321000,"address":"TO56M4DLPYEHBWGFOTG55EE7CNQCJ7RYZECTWY4G7XG6LGHGPXCV4CI7MM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971387073,"name":"Folks V2 goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/025b1fc8f2844c9c987778d0bd1688f6.png","unit_name":"fgoETH","fraction_decimals":8,"total":"15000000000000000","usd_value":"1495.051277627992","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971387073/","collectible":null,"creator":{"id":3503327625840763000,"address":"3DSRBNSMEK7RR7M7SWRIK5QWGITNM7ZFUJOPPGWM3NPOPO4EQRHRSUXHL4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971778590,"name":"Lofty 1339 E 115th St","logo":null,"unit_name":"LFTY0304","fraction_decimals":0,"total":"2969","usd_value":"49.150000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971778590/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":977618990,"name":"Ownify Currency","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/16/15697de4ea7d4f50864a7abb17abba3b.png","unit_name":"OWNI","fraction_decimals":6,"total":"150000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/977618990/","collectible":null,"creator":{"id":3504656923359796000,"address":"5XBARMJGP3QRLFZSSEDK7P2S7SJFOR6GBBX4YFF5XM6DRTKIQOM5RZVO2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":977638343,"name":"Lofty 5133 Dresden Ave","logo":null,"unit_name":"LFTY0309","fraction_decimals":0,"total":"2329","usd_value":"49.150000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/977638343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":984814367,"name":"Lofty 6746 Westwood St","logo":null,"unit_name":"LFTY0307","fraction_decimals":0,"total":"1604","usd_value":"49.190000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/984814367/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":987374809,"name":"The Legend Projects","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/09/cd0049377afc45ef9a46ad475dceadbc.png","unit_name":"TLP","fraction_decimals":2,"total":"100000000000","usd_value":"0.009272572566","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/987374809/","collectible":null,"creator":{"id":3425818926855773000,"address":"MOL3TBPQ2L74D5JGWEW362UQRCBOBZCVXZGOFJIR36GUBLKXDNIGW6VCTU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":994035569,"name":"Netfluids","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/23/abb93c2a292f460db81b80573fd457b0.png","unit_name":"FLDS","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/994035569/","collectible":null,"creator":{"id":3502200575325747000,"address":"GLKPZLQEX3EU7XYUKZOUCFAECE4DZCWFHZZAQDX6SDKSEBCU4JUMR4UHBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1000870705,"name":"Treats","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/02/02/5e7bc929565a4c069a7683cf6711a40b.png","unit_name":"TRTS","fraction_decimals":1,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1000870705/","collectible":null,"creator":{"id":3481377909887207000,"address":"AP2FJ4UT73HEQWUAXXLR2C5O6CWKUESUH5MJMT2L6ODQRVNIBI44Q5XSOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1002765064,"name":"Lofty 10157 Winkler Dr","logo":null,"unit_name":"LFTY0317","fraction_decimals":0,"total":"1736","usd_value":"49.170000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1002765064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1003833031,"name":"CollecteursX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/09/c0ab9718992a45d8ad3dbc705d601ec9.png","unit_name":"CLTR","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1003833031/","collectible":null,"creator":{"id":3508650454973556700,"address":"SH4W7IGJV3NCRKF5CKGICGRNFT5LHO47RNM6ZDDF2WJVUFTLGKV4IMNZ6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1007352535,"name":"USD Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/7c66dad38c7b4e1f907a559a7f738fdf.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1007352535/","collectible":null,"creator":{"id":3483669742667453000,"address":"PG56DVKH6F3RXJASLIR4AXIXDYTFK2DQWIEOLDY22HEX5IPRE47HNFINKY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1010838509,"name":"Acid Toke","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/09/1b2cd67e00394e0e855f5783fbc56f44.png","unit_name":"$Tokes","fraction_decimals":0,"total":"4200000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1010838509/","collectible":null,"creator":{"id":3509664257160200700,"address":"SEYX5F2S3H2TLISOB2UAWEGPWPHYLIV53ZF5XK3OQCXOOVNOYWDGLXVYA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1015673913,"name":"Workout And Research","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/20/6a8c8fe159214d1b82d126916808d519.png","unit_name":"WAR","fraction_decimals":0,"total":"21000000","usd_value":"0.000111316786","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1015673913/","collectible":null,"creator":{"id":3510910724684418600,"address":"R4HEJIRROEYYQNKQZP75XV6GBFM2WV52QVFYZMWOIOLYGCM6E3P3JC26LY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1018187012,"name":"Memento Mori","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/2b697f32c9bf4e98b8d3b640a57b2fc7.png","unit_name":"MORI","fraction_decimals":0,"total":"11200000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1018187012/","collectible":null,"creator":{"id":3511340755712614000,"address":"DEAXD24NWYIBUKALDZEMEMZCM6D4ANNTDB2VUKXOH3YO3SUONGZSXQZLGU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1020893679,"name":"Rabbit coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/30/7d1e3666592a42f6905c0f7751e5f80d.png","unit_name":"Rabbit","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1020893679/","collectible":null,"creator":{"id":3512073749098199600,"address":"OIPDH6NE6QAGWIOKYDCGAGN625F53AU5GNQ4MEQDEP7NV4ZZGGESIRFJEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1023334924,"name":"Lofty 127 Hausman St","logo":null,"unit_name":"LFTY0322","fraction_decimals":0,"total":"1586","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1023334924/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1023434045,"name":"Bear Heart Entertainment","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/14/d8f089cf2cbc4f01914468cd1cccbd9c.png","unit_name":"BHRT","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1023434045/","collectible":null,"creator":{"id":3470032129516334600,"address":"CAU4EGMQVILSAMXZHUV4AZB5QJHSM27OVV3WKYXCYQ3LNPH7IZEI2FIIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1024439078,"name":"Fracctal Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/28/0d875c2a9fee42a7a503db1f8a65e89c.png","unit_name":"FRACC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1024439078/","collectible":{"title":"Fracctal Token","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmbYMPpNdec5Nj8g11JCcaArCSreLWYUcAhPqAK6LjPAtd","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1024439078/","collection":{"id":3512965151283974000,"name":"Fracctal Monsters","description":"Fracctal Monsters is an NFT monster-taming game built on the Algorand blockchain!"}},"creator":{"id":3512300553052995600,"address":"KPVZ66IFE7KHQ6623XHTPVS3IL7BXBE3HXQG35J65CVDA54VLRPP4SVOU4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1024922832,"name":"AIINU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/06/7de0422b41194e80b0c1f19bce83d106.png","unit_name":"AIINU","fraction_decimals":0,"total":"333000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1024922832/","collectible":null,"creator":{"id":3512521854041019000,"address":"VRB5D2B6SCJCRBIVJ57IDXU2SI5O3SZYFAKWPVR5EB5DHOTW5NH7GVZ6GI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1028585879,"name":"Generous Baby Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/12/52b4e6a01c8a4f0bb5425938271232f5.png","unit_name":"GBT","fraction_decimals":2,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1028585879/","collectible":null,"creator":{"id":3513561439262954000,"address":"NPKADYYODGKFWGHQALB35JQF6V4IGK3G4ATJIZE4HESYGFW65DHI6IQMNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029379725,"name":"Lofty 16301 Glendale Ave","logo":null,"unit_name":"LFTY0306","fraction_decimals":0,"total":"2325","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029379725/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029725590,"name":"Growling Bear Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/08/5c400863adcb4b04ac8c89efdc73f52a.png","unit_name":"RAWR","fraction_decimals":6,"total":"12000000000000","usd_value":"0.000371885435","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029725590/","collectible":null,"creator":{"id":3513806532206159000,"address":"Z3CE4EZG3OJAWS7XWFK6D6VMC7KRFT2LERJV3RYS65V5AIXBJO2B3UEO4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029804829,"name":"Flux","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/06/656cb36365734ee4a3b25a6acb880719.png","unit_name":"FLUX","fraction_decimals":8,"total":"44000000000000000","usd_value":"0.199877986128","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029804829/","collectible":null,"creator":{"id":3513823012734565000,"address":"2XAH2WI7726D5TGNXX7QBPL54PRMT4JUJZCXSAUWBJIBKC455AJ5RPEGAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1034994881,"name":"One","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/15/6595668e083d4699a92815cb553f5528.png","unit_name":"ONE","fraction_decimals":10,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1034994881/","collectible":null,"creator":{"id":3513806532206159000,"address":"Z3CE4EZG3OJAWS7XWFK6D6VMC7KRFT2LERJV3RYS65V5AIXBJO2B3UEO4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1035899249,"name":"KOC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/03/02/ac1e54e600c5431e98d3c581f49c7c1a.png","unit_name":"KC","fraction_decimals":1,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1035899249/","collectible":null,"creator":{"id":3442198671898682000,"address":"C7DJIZMN6U4Y2LXKT5UQ357NQ6X65DL3VZTHIFTQ37SGNHAAIX2ZOLMINY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1035970481,"name":"Alternative Building Materials","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/13/2339ef5577094dddb1b5188cb15c03d7.PNG","unit_name":"ABM","fraction_decimals":0,"total":"25000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1035970481/","collectible":null,"creator":{"id":3428487374888146000,"address":"LBJ73LTKP43FSK4IBCRUSLCDJCCWFSHV6L3CVAZMTN7RM663X7ORK77ZIA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1037125809,"name":"A Beast called Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/26/4707a46cc17848eda3a624edef367cb2.png","unit_name":"ABCA","fraction_decimals":6,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1037125809/","collectible":null,"creator":{"id":3511279668830294500,"address":"JGVXW2XLQDODEGY6KCTBGD4UHL3QH5SCY7QYB77NN2JAMALKVJPVI3HJCA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1039986749,"name":"Friend Fish","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/27/ba99f30841124f059dbb8d3cc14133ee.png","unit_name":"FISH","fraction_decimals":0,"total":"50000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1039986749/","collectible":null,"creator":{"id":3516105564132791000,"address":"7W22OZOOLSJUK24CLYP2QLMNMWLFRC3FDWFK62LEM3E2TZULXL74VFOIFA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1044033654,"name":"Lofty 8646 Ford Ave","logo":null,"unit_name":"LFTY0330","fraction_decimals":0,"total":"2204","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1044033654/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1044269355,"name":"Folks V2 Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/22/4104b62ea35a4ef995b484da27b5e8c5.png","unit_name":"fOPUL","fraction_decimals":10,"total":"5000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1044269355/","collectible":null,"creator":{"id":3516873233915962400,"address":"VMRS35QRC5UVI5ZLGEDWFJX3464EBFRLD72NNJ2P34IWICCRBOG3YB2JX4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1045677043,"name":"Algorand Hodl Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/2b1d85310a2148eb89bd3ce2b95391c3.png","unit_name":"AHT","fraction_decimals":6,"total":"3200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1045677043/","collectible":null,"creator":{"id":3517179567477980700,"address":"7IFQKOKQQRVQGRDAPU7OXOOKRN3KZ5JQLIA3NVVWKXTNEN7P4EEI5CKT2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1049889280,"name":"Lofty 11019 Essex Ave","logo":null,"unit_name":"LFTY0331","fraction_decimals":0,"total":"1944","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1049889280/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1050428997,"name":"The Sports Progress Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/12/8f137bd8752941289d0e2ac9e73038f6.png","unit_name":"SPRO","fraction_decimals":2,"total":"500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1050428997/","collectible":null,"creator":{"id":3518171810817125400,"address":"L2QYKFEH7VD26MNO2Y6FALY4ZAL5SWFFMLAV56VAWGJOLIG3HFP53SR7CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1053260256,"name":"Glizzy Financial 🌭","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/11/427fc4b719934c7d8483ab80fd41b91f.png","unit_name":"GLIZZY","fraction_decimals":6,"total":"1000000000000","usd_value":"0.240543924993","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1053260256/","collectible":null,"creator":{"id":3518211788150608000,"address":"B4TUYQJMYQ4YVSTGW5HMQYOXM6UWZ7P6KIAC4C5AAZLRNX556TRWSB2LYE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1054235481,"name":"Midwest Fun Stuff","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/17/34e01c90e4fc421499da42c820a57f6f.png","unit_name":"MFS","fraction_decimals":2,"total":"5000000000","usd_value":"0.000028276714","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1054235481/","collectible":null,"creator":{"id":3425818926855773000,"address":"MOL3TBPQ2L74D5JGWEW362UQRCBOBZCVXZGOFJIR36GUBLKXDNIGW6VCTU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1058926737,"name":"Wrapped BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/2b752817c40a4654a9c979efc3188579.png","unit_name":"WBTC","fraction_decimals":8,"total":"18446744073709550000","usd_value":"77340.739789365528","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1058926737/","collectible":null,"creator":{"id":3520483877995478000,"address":"3VVXZS5IONAE4PJMCZMV3NM6WFXRYEHUGT7KH5GG5M3HJWSJDTP7X6VFPM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1060587336,"name":"Folks V2 GARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/15/1b70df7c3ea24cc5abe03c87571df3fd.png","unit_name":"fGARD","fraction_decimals":6,"total":"18400000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1060587336/","collectible":null,"creator":{"id":3520858162205811700,"address":"RDOPB7VY2JLIQRZGZFLZXH2ZL4BJMYXNVH5DCKGQOZ3PDISHEWD4YHFIUY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1060770176,"name":"AutismCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/21/23a71456d6b04297a52274e1caefc182.png","unit_name":"AUTIE","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1060770176/","collectible":null,"creator":{"id":3520855200717855000,"address":"KNSIOLP662QPNXD4RCXIV4HSRCKV6G33RAGBA4ZXGLTHPOCPTUSXMCFPVQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1065092715,"name":"Cosmic Gold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/22/8234c39f060e476a936afa95af5d16bf.png","unit_name":"COSG","fraction_decimals":6,"total":"270000000000000","usd_value":"0.000600436681","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1065092715/","collectible":null,"creator":{"id":3521747550307471000,"address":"COSG2GGIIPXHLV4G2RTJUY7K6AA33F6XTL45A7NK3YPWGWAGCPNKB4CFXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1066202864,"name":"Trusty Digital Inc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/05/a64532da7cc946a58f5e633b25521496.png","unit_name":"USPEP","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1066202864/","collectible":null,"creator":{"id":3521962946614264000,"address":"VEOLLNAI3ZFTW6MZPUPWVYOTTQW4M5IOUZQ2HXB46WDEFFB4MXTD2RPVH4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1067295154,"name":"Folks V2 Wrapped BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/29/4ef4f3abcec64136929669ddbc218901.png","unit_name":"fWBTC","fraction_decimals":8,"total":"18446744073709550000","usd_value":"78516.403566369430","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1067295154/","collectible":null,"creator":{"id":3522156894545910300,"address":"BV3EU3GIX26XJBF6AX5OC2HJJ5F2OJNQC7M3Y6DGQKPVURPRCHXBEE2OJM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1067295558,"name":"Folks V2 Wrapped Ether","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/29/541792ef08574e79a3563bf19a549f69.png","unit_name":"fWETH","fraction_decimals":8,"total":"18446744073709550000","usd_value":"1520.566403343769","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1067295558/","collectible":null,"creator":{"id":3522156996263043000,"address":"EHC6W75UHDUB5AHFIKMRDV7LEF77GCMONME5QLNRJWOJB7NGPYZBTT556Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1071055319,"name":"Lofty 801 15th Street Unit 204","logo":null,"unit_name":"LFTY0310","fraction_decimals":0,"total":"5763","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1071055319/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1073483571,"name":"Yoink","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/04/d84b65c12bbc449c91d1aa952f4b32be.png","unit_name":"YOINK","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1073483571/","collectible":null,"creator":{"id":3522196331406897700,"address":"O2GDMIMP2PEP6VCUVPQK6WBCRRBR66Z3XH7OB74PR6X5PWSNKUW7WGTVKY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1075040336,"name":"Postmodern Euro","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/10/17e4f6ad17894516a013e559c7124fa2.png","unit_name":"EURP","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1075040336/","collectible":null,"creator":{"id":3523620013997235700,"address":"XFWNR5COLWSTGRP6I324FA7MN3MAJYNHVEZJN542IIISPENYY6C44465FM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1076768277,"name":"Terminator Token ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/10/3119354f3d7e453382aa9b3cf34c080d.png","unit_name":"Skynet","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000505458515","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1076768277/","collectible":null,"creator":{"id":3485468316583878000,"address":"T2KNAMJLA5ULLNEJCMKMFGRGPXDMOD7INAQJEMNA3DYWE5WOKG55FC64LY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1080556472,"name":"Great Egypt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/09/060057febba34370ac9c984185696e9b.png","unit_name":"EGY","fraction_decimals":2,"total":"1500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1080556472/","collectible":null,"creator":{"id":3525462339648788500,"address":"754KWCNSKJ5HDNRNRK2XZTIO2XNVCUYAF4IDOM6VMHHNJSWPKNTRPJRC3Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1081594964,"name":"Lofty 1033 Cedar Village Trl","logo":null,"unit_name":"LFTY0327","fraction_decimals":0,"total":"5448","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1081594964/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1083164969,"name":"POLYN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/15/3576c051705a4971b3f84e07f31b3cba.png","unit_name":"POLYN","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1083164969/","collectible":null,"creator":{"id":3519172353215711700,"address":"3K5D2SBFBBTPLV4TQPZWETZNQSYUHJC27NCLSOOVA6GBAAVL6MZBHF4OCY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1088771340,"name":"Dark Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/22/107aeb91cb244af4baa7ae1921feb727.png","unit_name":"DARKCOIN","fraction_decimals":6,"total":"500000000000000","usd_value":"0.000045023118","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1088771340/","collectible":null,"creator":{"id":3426123588496844000,"address":"AL6F3TFPSZPF3BSVUFDNOLMEKUCJJAA7GZ5GF3DN3Q4IVJVNUFK76PQFNE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1096015467,"name":"Pepe","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/02/0e0961c39d7648cd8032a598423906eb.png","unit_name":"PEPE","fraction_decimals":4,"total":"4206899999999990000","usd_value":"0.000006235711","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1096015467/","collectible":null,"creator":{"id":3519401452585762000,"address":"B34VMB7AAF2JZHLUZL4ROAFAV7Q5TY2JXFCDGAJFYHNQAMVE5BCGGVEGAE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1098616344,"name":"GLIZZY PEPE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/20/e24a3329bb3e4db78df2fca6b5b54dbf.png","unit_name":"GPEPE","fraction_decimals":6,"total":"4206900000000000","usd_value":"0.000004010242","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1098616344/","collectible":null,"creator":{"id":3530153955578856400,"address":"IY53AXJXJT6DOEEMF3MDC3LOT5UUZ36R6YLHPU7Y4G5MHKNQ4MX2FC6BY4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1099642259,"name":"This Is Fine","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/09/334d7d3bbdfb4f81bad92d3646940308.png","unit_name":"FINE","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1099642259/","collectible":null,"creator":{"id":3519353355150257700,"address":"JQUSXD3WGE7T6ZPJH5IPW53ZPEC6U6WZSWZ33B5ZAUB3GFLAT5IHKARHWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1100556080,"name":"Andy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/15/0f9a318094ba433b87fb69ec2ddb7877.png","unit_name":"ANDY","fraction_decimals":0,"total":"4206969","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1100556080/","collectible":null,"creator":{"id":3467884281075387400,"address":"LVKYRKZWGNR7354FPFMKCCEZPRKBGT7D26EBRYBR3DVR6IF5VFQIOFU45A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1105062628,"name":"HellBender 392 Scott VA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/23/24177d66aac240479b6f94694932e8e6.png","unit_name":"OTSDHBVA","fraction_decimals":6,"total":"12000000000000","usd_value":"0.027832006164","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1105062628/","collectible":{"title":"HellBender 392 Scott VA","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/1105062628/","collection":null},"creator":{"id":3532011690505650700,"address":"ME4ECHD4OJB5RMXEKO74IHHF2OUJDMC3EYNZV3QG57Z6FGIIENR6L45KUI","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1105680969,"name":"BisKoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/07/6a431f50818545109235ed20ef7c2b9b.png","unit_name":"B$K","fraction_decimals":3,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1105680969/","collectible":null,"creator":{"id":3531810039229007000,"address":"L5ZMFBSIUQWI3Z33FWL3BXCS7PEB5IOQZFWOXCKGDTQJ5C2OZ6X2KKDFLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1107424865,"name":"Amina Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/09/f69423d244184bdd80f94031aa01c26f.png","unit_name":"Amina ","fraction_decimals":8,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1107424865/","collectible":null,"creator":{"id":3531851198666475000,"address":"6ZL5LU6ZOG5SQLYD2GLBGFZK7TKM2BB7WGFZCRILWPRRHLH3NYVU5BASYI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1111523351,"name":"Lofty 1209 Cove Ln","logo":null,"unit_name":"LFTY0333","fraction_decimals":0,"total":"2312","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1111523351/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1112554822,"name":"BIG-DickEnergy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/e9fa33b31956461686296092c4c0a629.png","unit_name":"BIG-DE","fraction_decimals":2,"total":"6900000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1112554822/","collectible":null,"creator":{"id":3534003284873267000,"address":"DICK5SOQ7RULJGVPTKTA6APFO4JYCACTVSNBP2ZNB6YFZI57N5K6U45UZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1112556000,"name":"LITTLE-DickEnergy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/d1fbcd1304dd4f1e8fcafb135319d567.png","unit_name":"LDE","fraction_decimals":2,"total":"6900000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1112556000/","collectible":null,"creator":{"id":3534003284873267000,"address":"DICK5SOQ7RULJGVPTKTA6APFO4JYCACTVSNBP2ZNB6YFZI57N5K6U45UZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1114942423,"name":"John Woods","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/09/fdc351d08fe34628a60d42b1b13bb554.png","unit_name":"WOOD","fraction_decimals":6,"total":"83999999000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1114942423/","collectible":null,"creator":{"id":3534374925108622300,"address":"UVHMBSK25GL3V777H7APQ2RTUAHXHJCGWKO5CVR6EO4WGHHJL4P7IGJEFM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1115850955,"name":"Diablo IV","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/05/d3e72c0c46414656aaae3fe4a94dce6b.png","unit_name":"CAIN","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000004798195","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1115850955/","collectible":null,"creator":{"id":3535378941885058600,"address":"G5B2ZRTIXIBLEOU5RR4ZL7OA5C7JSC2VZNGPGF6FWTFR56MRGAE3FHFM3A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1116319755,"name":"BLUE ORDINALS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/10/1c501940611e4337ad4b8abbf43744d1.png","unit_name":"ORDINALS","fraction_decimals":8,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1116319755/","collectible":null,"creator":{"id":3490849012571715600,"address":"JEQQAADI4C4MBN2PPJS2G3QOZRDSCDJ4REN5AT4QVLCHGMUIG5D433LULE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1118456851,"name":"Knead","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/22/4a2c0eadc4b1455ab3f151d4ab8309f8.png","unit_name":"KND","fraction_decimals":0,"total":"3141592","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1118456851/","collectible":null,"creator":{"id":3464282848196440600,"address":"JGREN3CLUCBALIVYVIM2UVTEBZCOSKGAETJT7QI6ENT5ZHPZRXVVRZ77CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1118904346,"name":"Skye Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/19/18fe08b720f149418db2af91fe57c1c6.png","unit_name":"SKYE","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1118904346/","collectible":null,"creator":{"id":3424769153451245600,"address":"QPQAARSU64ZUW33J227PJS74GWTMBKJEUU34IL5MBE3542WA7QAHBEW4B4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1119663977,"name":"Beaver loves you","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/29/044def2061ed4461b762b327f51809bd.png","unit_name":"$beav","fraction_decimals":4,"total":"500000000000","usd_value":"0.000233463909","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1119663977/","collectible":null,"creator":{"id":3465481104072074000,"address":"BEAVERHDFKNW2ESM2TKNJ7FZ2XDFWZ7SJIOESUA45POMNPSXEIYYD7ELFM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1119722936,"name":"The High Community ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/12/0139ce57a1504a8aad86b153442f7abf.png","unit_name":"THC","fraction_decimals":0,"total":"69420000","usd_value":"0.000065359298","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1119722936/","collectible":null,"creator":{"id":3536177320220974600,"address":"H7Y73DCCJTLWS7373QQ4QJLDJ2T3V65XTJPAUL6GFRXMNLY6YETTTFKQSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1122347528,"name":"HIVE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/10/925e83c9225c480da1f9c76a0057dc41.png","unit_name":"HIVE","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1122347528/","collectible":null,"creator":{"id":3532350042099511300,"address":"6F2LNETA5LPZPG2VDTJNK2Q73HEQBKYTBNPREIIJF5OV46TQU2UCXPSTVY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1124070239,"name":"Metapost Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/14/267b4c8a0ae74b428323476331bb3d87.png","unit_name":"POST","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1124070239/","collectible":null,"creator":{"id":3537144890298127000,"address":"POSTLZFKFE647F6J23IUIB6TX4GIEYURKF32OW7PZNK7WIPFF53SY7Q73M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1127406202,"name":"Equito Wrapped Shiba Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/16/804c3f2a9051423fa4705d839a26dc87.png","unit_name":"SHIB","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1127406202/","collectible":null,"creator":{"id":3537728257684900000,"address":"Y4S53VFR4AYPPAU4OFDFKWRU6X25VMPOJVDYKGVEHQK2S4QBG6TCRYDLJY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1128779653,"name":"Opportunity Crypto","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/09/ab3aeaa2aad24ba387ebc7c1fa51537f.png","unit_name":"OPYx","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1128779653/","collectible":null,"creator":{"id":3497152342103489500,"address":"O2PWEUVVQCGIRQ627K5PH65JZP3PVFS7VR64S45BTEZZ6NPH47BAU3YU2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1130414707,"name":"Get Fucked","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/24/090fc1d28d374825b98b067dd2ade8d1.png","unit_name":"GF","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000356842","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1130414707/","collectible":null,"creator":{"id":3525613336638473000,"address":"C2C7BPHGYXSQHV2N7LRJXIMJTIWFA3M6BDQF7WQA4TYQ5M5MKLBG4V7ZPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1130719852,"name":"FAIRINBOX_2i2i","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/21/7d1a3fcbe2a44e249806ef82c4a74f2d.png","unit_name":"INBOX","fraction_decimals":0,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1130719852/","collectible":null,"creator":{"id":3493741514003617000,"address":"IMIFDF2LS4DJB4K56TBOTANVBTIE2CPM32BTLWSCTZQU7ASRDM4CVIU5VE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1131427236,"name":"Day By Day V2","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/03/f5c343b74f7d4680a5d4b3a085c5ae6f.png","unit_name":"DBD","fraction_decimals":6,"total":"800000000000000","usd_value":"0.000913193552","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1131427236/","collectible":null,"creator":{"id":3538778210243335700,"address":"BOTWMMK4BCOQJQ2AIABUCGB6J6XZP3L33T4IMORJ4LEVDOCT3OLTBFXFWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1134696561,"name":"Governance xAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/28/429af4271f4843c7aaf52fce91ca27e1.png","unit_name":"xALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.183518494734","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1134696561/","collectible":null,"creator":{"id":3539583550550388000,"address":"4MBB6O7EV2ZRIUKJT47B2NJ2BQPNJ3BQEQBPA7UN7MXWRG7U4OMPP6VOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1137071163,"name":"Pepe 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/04/01cc9394fe3542708216a179029fac33.png","unit_name":"PEPE2.0","fraction_decimals":0,"total":"420690000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1137071163/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1138500612,"name":"GORA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/03/a6d49e2045864a02af0248f9d88d842b.png","unit_name":"GORA","fraction_decimals":9,"total":"100000000000000000","usd_value":"0.029931929103","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1138500612/","collectible":null,"creator":{"id":3540609560512426500,"address":"J2GVFTADZB7QPJOZ4R3FHABV4NWGE6CN6SYPHW32N3CNEWCRD6ACYTPYVU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1141259202,"name":"CYBER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/08/ae0051734f5245c6990a49789df3de2e.png","unit_name":"CY💀","fraction_decimals":4,"total":"50000000000","usd_value":"0.000874678910","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1141259202/","collectible":null,"creator":{"id":3537547424114614000,"address":"CYBER2KPJ6IAG2PSG34GVCQ52FT3W4LZA7YDSQPB3IMT7RVRQI4EXHSDDI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1144340594,"name":"GAS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/13/6f0712418689437e896ad711ebf22cd2.png","unit_name":"GAS","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000054026457","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1144340594/","collectible":null,"creator":{"id":3539985401822277000,"address":"GASTVTSB3UI3RKFQXAVNSSVW7OG5JCTOANQSQIQCDWS7QBRK3FNAEH24MM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1148225020,"name":"OTSD Regen AG LP investment","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/30/aaee5d8671fc462b8c26b4fb7add0ac3.png","unit_name":"RegenAg","fraction_decimals":6,"total":"80000000000000","usd_value":"0.000116879655","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1148225020/","collectible":{"title":"OTSD Regen AG LP investment","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/1148225020/","collection":null},"creator":{"id":3542882559379674600,"address":"QALPKUI2BBIX7T54C7UWU4NXP4NRF6PRFC3QHEC5SZQP7UI6QNIP6J5WHA","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1152109334,"name":"Khaaaa Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/01/47117ddba02847868a5bf894f62ac6b2.png","unit_name":"KHAAA","fraction_decimals":0,"total":"1000001","usd_value":"0.004228101721","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1152109334/","collectible":null,"creator":{"id":3525613336638473000,"address":"C2C7BPHGYXSQHV2N7LRJXIMJTIWFA3M6BDQF7WQA4TYQ5M5MKLBG4V7ZPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1153943565,"name":"18474 Glenmore St Lending","logo":null,"unit_name":"LFTY0319","fraction_decimals":0,"total":"150","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1153943565/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1158785990,"name":"Lofty 115 Brigadoon Circle","logo":null,"unit_name":"LFTY0320","fraction_decimals":0,"total":"1663","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1158785990/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1160680775,"name":"9423 Denison Ave Lending","logo":null,"unit_name":"LFTY0336","fraction_decimals":0,"total":"254","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1160680775/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1164556102,"name":"X-NFT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/11/ded6102f64ed4a3bb481f98da9ecd4c6.png","unit_name":"X-NFT","fraction_decimals":6,"total":"250000000000","usd_value":"1.092489725147","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1164556102/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1165665513,"name":"Lofty 1812 Elmwood Ave","logo":null,"unit_name":"LFTY0311","fraction_decimals":0,"total":"2804","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1165665513/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166485390,"name":"Gunny Inugi: Rockie","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/47eedf9930384b1fb076b039e1475e36.png","unit_name":"GI1GR","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166485390/","collectible":{"title":"Gunny Inugi: Rockie","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/Qme85bDzHSUQfPUMLbTjJUBdgtRXPweZSeRH3SPy1Go4JH","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166485390/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166502923,"name":"Gunny Inugi: Fuzzy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/31ae4a938914440ea4dcad88bbfd9d19.png","unit_name":"GI1GF","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166502923/","collectible":{"title":"Gunny Inugi: Fuzzy","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/Qmdy5LVuhsfF6dxvf6b7HqqHAGmNtigYiZxjij8ggMaGx3","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166502923/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166518213,"name":"Gunny Inugi: Bolty","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/e714d16f644b4975b8085ff186eab642.png","unit_name":"GI1GB","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166518213/","collectible":{"title":"Gunny Inugi: Bolty","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmSApv5cm5CGrxiW9rkCfWWCQezbb99xdeK6rx7kHaZrS6","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166518213/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166579975,"name":"Gunny Inugi: Blaze","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/4b21c9ad5d084ecf90270825733cc806.png","unit_name":"GI1GBL","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166579975/","collectible":{"title":"Gunny Inugi: Blaze","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmRuDfoqk97AESRz3VRzY9fK4hF9dt1sGN5s93LxL9wb1d","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166579975/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166590241,"name":"Gunny Inugi: Taily","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/8544a83c21d7412699d31fe616cbabd0.png","unit_name":"GI1GT","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166590241/","collectible":{"title":"Gunny Inugi: Taily","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmcaV5dfyqk2XG99aTyfqwQfSN28SpDWzLz2dCeekpb5oF","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166590241/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166979636,"name":"Folks V2 Wrapped AVAX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/14/8ff8015533804687849591c0690c16d4.png","unit_name":"fWAVAX","fraction_decimals":8,"total":"18446744073709550000","usd_value":"16.630911030000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166979636/","collectible":null,"creator":{"id":3547513387888134700,"address":"7A5PQOCMKDSUV63TUTOX3BMSJK44HH3UCT3YATBF33J6O4IRE7NLEWZ6AI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166980820,"name":"Folks V2 Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/22/ecf46853a37e4084963add603952b63b.png","unit_name":"fSOL","fraction_decimals":8,"total":"18446744073709550000","usd_value":"107.392929270000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166980820/","collectible":null,"creator":{"id":3547513769738020400,"address":"XYW235QHOM46UQN4XIL5CRUZLCYVUYHIOJN77D6ELREPLORTRXM2ZSBKUI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166982296,"name":"Folks V2 Maple Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/22/b2021bd7396345e4a187fac7e40ec891.png","unit_name":"fMPL","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166982296/","collectible":null,"creator":{"id":3547514213610199000,"address":"G7DYFK6XGZEWCEMEQPTC6SYIVEIZPFXFGOKRIXO523JQZHYFD7IHM3YLIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167169177,"name":"445 Lipford St Lending","logo":null,"unit_name":"LFTY0345","fraction_decimals":0,"total":"190","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167169177/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167169305,"name":"9902 Garfield Ave Lending","logo":null,"unit_name":"LFTY0344","fraction_decimals":0,"total":"301","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167169305/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167819755,"name":"Lofty 12615 Jackson Ave","logo":null,"unit_name":"LFTY0315","fraction_decimals":0,"total":"1000000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167819755/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1169650768,"name":"Stealer Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/13/47d0307520cd4831a9c8b704b52e6068.png","unit_name":"STL","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1169650768/","collectible":null,"creator":{"id":3548214536614689000,"address":"Z2KBJPX6Z2AZ7FC73E4MDGMGY72B2QWLBRBKTRLJYO7LI3HMXESWCRJNFA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1169658307,"name":"Apeiron","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/24/0253b1f4eb504acf87790f64a0de005a.png","unit_name":"APRN","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1169658307/","collectible":null,"creator":{"id":3548218285339334000,"address":"A6SJO23LZ2NONURT5W2JUJGPJWQCX5I2VDG5IKWEAQMMSRBODSKWQHPT2Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1171775660,"name":"Fugazy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/16/cd9ad2102ee9425b9fc8f3de78d04ec3.png","unit_name":"FGZY","fraction_decimals":6,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1171775660/","collectible":null,"creator":{"id":3548662628921062400,"address":"6YWFF5CXHYPKPOY6AAKWRHHLK326DU3DOMXXQCI5PS7L72NX2OJJTAWFZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1176731562,"name":"Lofty 75 Boulevard NE Unit 1","logo":null,"unit_name":"LFTY0328","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1176731562/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1178290500,"name":"Rollbit Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/24/ce891f91018545fab43c5c6cb500f550.png","unit_name":"RLB","fraction_decimals":8,"total":"319711196600000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1178290500/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1181999968,"name":"1677 Walker Ave Lending","logo":null,"unit_name":"LFTY0343","fraction_decimals":0,"total":"240","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1181999968/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1182542917,"name":"Lofty 8202 Laurel Ave","logo":null,"unit_name":"LFTY0318","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1182542917/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1182620971,"name":"Mercury Index","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/01/08/d614b61fde834b49ae48c2308564829b.png","unit_name":"MIT","fraction_decimals":3,"total":"1000000000","usd_value":"0.022097354225","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1182620971/","collectible":null,"creator":{"id":3531757322991951400,"address":"VJXHSRWLAFFF5CCM46TUNOV4W44EQHIKJYLRUILCMPLF4ET7XDELOYFXZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1183554043,"name":"AlgoCard","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/09/6247b4e54e2a46318fb74604c4fe0398.png","unit_name":"CARD","fraction_decimals":3,"total":"100000000","usd_value":"0.059319612124","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1183554043/","collectible":null,"creator":{"id":3426458820311951400,"address":"EXA72YENKHTRE45USUHYJLB3E2BTUMUZBQIOZG72FG637EVFDAHUWOJHWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1184547068,"name":"SharpHawkservice","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/13/5c1fa2ad483f4bf486a3170d9aef5aa1.png","unit_name":"SHS","fraction_decimals":9,"total":"3000000000000000","usd_value":"0.000573786283","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1184547068/","collectible":null,"creator":{"id":3551970836425693700,"address":"N3P4OZ5LT7YBEOBX6YZDVLA3DD5MKNOGH2T4MXJVPBQXM5UKEJASM3WDYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1184808594,"name":"StickmanLines","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/03/143ced11e87c4ddb951564726bff39af.png","unit_name":"STK","fraction_decimals":2,"total":"100000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1184808594/","collectible":null,"creator":{"id":3552054644735255000,"address":"W6IXI7YPNYY7NAF2Y2EBLCICBJVN6JZYJAUXSP5XFUHV2HNHBHJE43L4TY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1185173782,"name":"mALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/06/b9104476320f4d17be27d4c88a63b9ea.png","unit_name":"mALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.190951708194","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1185173782/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1185252893,"name":"Biden Bucks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/06/7fd662807fb24f5c87776f2360eebd6f.png","unit_name":"BB","fraction_decimals":0,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1185252893/","collectible":null,"creator":{"id":3552204235610119700,"address":"YXK2P7F6JIOUWSGDRKM7T2NKLEAKHTNNYYAA3EPJ5EQQYDMTBAM5RMR3PU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1188287738,"name":"CBDC ScamCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/10/dfaf2d15df79480994b479d2ff8d09fa.png","unit_name":"BAG","fraction_decimals":0,"total":"10000000000000","usd_value":"0.000000000385","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1188287738/","collectible":null,"creator":{"id":3552109932146335000,"address":"R7V2JFEULAGHNYJPGHTDFBW357BMHUYTZQKTANZFGKVLUQAJPTZBR3J3VU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1189552380,"name":"OTSDLUKENS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/70c2bcd2207c415bb833fddc28220513.png","unit_name":"OTSDLKNS","fraction_decimals":6,"total":"120000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1189552380/","collectible":null,"creator":{"id":3553433836611527700,"address":"3PG3RHQVQCAAJ5NFT37UJDSEK2HB65I4IOWZGRNPL75OECIM5GC7KF4H5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190390016,"name":"CA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/01/b2c4bfe53d2a4f06b97d743c34b76ede.png","unit_name":"CA","fraction_decimals":0,"total":"69000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190390016/","collectible":null,"creator":{"id":3553682336111414300,"address":"CAA67HD65TXCSM7L5ELD6PGLWEWAATN6R677WJHVHVVBH4H2RH5NPSK6MA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190649759,"name":"Lofty 5899 Stonewall Dr","logo":null,"unit_name":"LFTY0340","fraction_decimals":0,"total":"1000000000","usd_value":"47.630000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190649759/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190697410,"name":"Lofty Edinburg Estate","logo":null,"unit_name":"LFTY0313","fraction_decimals":0,"total":"10000000","usd_value":"225000.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190697410/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1192606626,"name":"Krypto Bits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/19/c7949b2c24d0405c83c066a095d70c0b.png","unit_name":"Bit","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1192606626/","collectible":null,"creator":{"id":3395648989861366000,"address":"R2WAU62AB3WLQVAKSU27ABT7LMK65I6ZJ6NLHKY33RVOJL6HN7P622RGPY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1194470385,"name":"$THICC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/11/f2450f1eec894ec19dcf07cf3eed8b43.png","unit_name":"THICC","fraction_decimals":0,"total":"18000000000","usd_value":"0.000000429087","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1194470385/","collectible":null,"creator":{"id":3554387499488013300,"address":"ZF5LRJJTQ6UIOIFW2HUCWLDTSPF4WN3GUQ34WMVBHDFJFCDJI5Z7HHO6MQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1200094857,"name":"ChainLink Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/21c9618ece2944b99e0f2c30dcf810ab.png","unit_name":"LINK","fraction_decimals":8,"total":"18446744073709550000","usd_value":"11.251444901104","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1200094857/","collectible":null,"creator":{"id":3556069300265185000,"address":"WGW26EJAA73V22X3MVWQDZEP36QV63WV622HVB2O3G3QNHFV6ORLOFRFZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1200705159,"name":"Lofty 902 Karlann Dr","logo":null,"unit_name":"LFTY0337","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1200705159/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210118499,"name":"3878 Windermere Rd Lending","logo":null,"unit_name":"LFTY0312","fraction_decimals":0,"total":"300","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210118499/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210764878,"name":"DinarCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/16/85fca1cd4dd3409fb1eeb3211fcb4507.png","unit_name":"DNC","fraction_decimals":6,"total":"888888888000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210764878/","collectible":null,"creator":{"id":3558768539862094300,"address":"CN4VCETORQY7SF4SCXBNJIQBPOTWCK6WIYFCCGEFRKGXD2H4P4KOBL6O4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210793288,"name":"Lofty 2423 S 51st Ct","logo":null,"unit_name":"LFTY0308","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210793288/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1211492715,"name":"PLUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/11/7e7ad92aebda456dbef55ee359e9c251.png","unit_name":"PLUS","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1211492715/","collectible":null,"creator":{"id":3518180897054509600,"address":"UTI7PAASILRDA3ISHY5M7J7LNRX2AIVQJWI7ZKCCGKVLMFD3VPR5PWSZ4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1216437148,"name":"Folks V2 ChainLink Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/d9f344091d3d44039b67f993d5390694.png","unit_name":"fLINK","fraction_decimals":8,"total":"18446744073709550000","usd_value":"11.518015823528","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1216437148/","collectible":null,"creator":{"id":3559860139578341000,"address":"S5OOT4RBI3ICPLZFPDTJGLWOJPK3CSX4SRCRQ7FUU3RAY5DVNUXJ3MH7NE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1217293051,"name":"Lofty 128 N White Ave","logo":null,"unit_name":"LFTY0335","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1217293051/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1217302022,"name":"LOTTO RACE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/19/e908acbfe7cc48d4a77c292d96732629.png","unit_name":"LOTTOR","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1217302022/","collectible":null,"creator":{"id":3560054506189988400,"address":"LOTTORAXCLDWLSZ2BTC6AJJDDFRLGYQFQ5AJOSWAAZI5QJBPVPSCZ4ZWLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221448215,"name":"Education","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/28/48a9c6866b104935ae2a7fe48969460e.png","unit_name":"Know","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221448215/","collectible":null,"creator":{"id":3505846366525108700,"address":"3QMAO6NQWAHRK7IUJSF4J6X2RBKMA7MMPGN3TVQB6RSPYVUMPRWFA5I2YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221549217,"name":"Arbitrum","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/b31cfe778b364ffca67f43f15747affb.png","unit_name":"ARB","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221549217/","collectible":null,"creator":{"id":3561017500191124500,"address":"HBZMGR47YDOQPH6IJIUEHU727BM7B3PZ42IVA3BXK6DMZGTE6X2XP66EZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221682136,"name":"Quantoz EURD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/19/e19558c3094d4de2a97a59be79997dcc.png","unit_name":"EURD","fraction_decimals":2,"total":"1055000000000000","usd_value":"1.091657769656","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221682136/","collectible":null,"creator":{"id":3561066962250159600,"address":"W23RVH6J52VDVC3O7OXITGETKNGLSTGGJCR55AS2NVSNDWXTLMBBJZB24I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1222988861,"name":"Lofty Blue Luxury Hotel","logo":null,"unit_name":"LFTY0323","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1222988861/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1223742907,"name":"Spore Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/47641616886941e290bc3661cfd1a9ec.png","unit_name":"SPORE","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1223742907/","collectible":null,"creator":{"id":3489275618857422000,"address":"TJ5EU4P7O447IGHP2PLSMOXQT7HD5CUAE7SQS7Z7CLFRJO47WPC3QCCQ5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1229820904,"name":"Hero Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/01/83e6937c7089455990f34cab94daf619.png","unit_name":"GHC","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1229820904/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1231325798,"name":"EDUCATION BLOCKS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/03/e3ccacc372ed442a8929714053266013.png","unit_name":"BLOCK","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1231325798/","collectible":null,"creator":{"id":3505846366525108700,"address":"3QMAO6NQWAHRK7IUJSF4J6X2RBKMA7MMPGN3TVQB6RSPYVUMPRWFA5I2YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1232999340,"name":"STOR","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/08/0b84b4bf132741e88678f85d04a81fe1.png","unit_name":"STOR","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1232999340/","collectible":null,"creator":{"id":3562924082124257000,"address":"KM6UHB7GS7QMHSECPA2N4EXD5OWHH7NMTZ54532UYXIZKKKDF6OBKHOAZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1233471765,"name":"Dollars General Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/01/28/cb3823c137b049c29d8d81e63d265a10.png","unit_name":"DGEN","fraction_decimals":0,"total":"1000000000","usd_value":"0.000006201836","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1233471765/","collectible":null,"creator":{"id":3563552682221104000,"address":"4BUCSJ3U6BAWB4IT4FCPU5AVSUOB4CAEPI3HZBV6X37CXYIOSVCZQK24XI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1237288791,"name":"Nollya GameF1 Da0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/25/10303c638e7244c981036249a00d7734.png","unit_name":"NLYA","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1237288791/","collectible":null,"creator":{"id":3563211422243870000,"address":"7QOLKBWBLE5KJICUAE2ASHGSGPNVA3CSEREYB64D4FN3K5J2FMKBX5TBBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1237529510,"name":"Polkagold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/15/c15619ddb3454b439ea9356bcb194863.png","unit_name":"PGOLD","fraction_decimals":7,"total":"100000000000000","usd_value":"0.033632481376","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1237529510/","collectible":null,"creator":{"id":3549198481807172600,"address":"DE52PISKT5KJW574FYSMTRGVR6DGC7EPE2H3L6QLMFTK37G25I3ENK5PVM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1241944285,"name":"Gold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/d031d2be092845428fa568948309f223.png","unit_name":"Gold","fraction_decimals":6,"total":"1000000000000000","usd_value":"93.538081171333","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1241944285/","collectible":null,"creator":{"id":3565068480952770000,"address":"AC5MB73BJFJKCVDOVJWG6QSUVTGMPL2UUYHGXEG6CQWI5XQ4OAHVZQ4Z6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1241945177,"name":"GoldDAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/11b301268c634b34a0f118df8e0b0fa8.png","unit_name":"GoldDAO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.943263549961","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1241945177/","collectible":null,"creator":{"id":3565068480952770000,"address":"AC5MB73BJFJKCVDOVJWG6QSUVTGMPL2UUYHGXEG6CQWI5XQ4OAHVZQ4Z6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1242355666,"name":"Lofty 2364 San Pablo Ave","logo":null,"unit_name":"LFTY0313","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1242355666/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1242447555,"name":"251 Wachtel Ave Lending","logo":null,"unit_name":"LFTY0311","fraction_decimals":0,"total":"242","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1242447555/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1245322723,"name":"Labrador","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/06/175a1fc7663e494bab623eaadf2417af.png","unit_name":"Labrador","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1245322723/","collectible":null,"creator":{"id":3494237748518652000,"address":"TZFH3EDIQQZLPOGDQHQ3PQL6ULH4URHHFI2LIBY5ZMEB235EPCBWCUCUNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1247054501,"name":"Folks V2 STASIS EURO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/6fd9e1b957314a62951b99dac98e85c4.png","unit_name":"fEURS","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.117023100144","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1247054501/","collectible":null,"creator":{"id":3566006963891046400,"address":"P4B56R5KSYUL6KG5KY5LJQHRWYNQIGVCUM2AVUVERCOGDTCW77QHY7ALWU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1249581181,"name":"Wrapped BNB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/12/06/152661bf2bc74b039e2e0938fdcc3dc7.png","unit_name":"WBNB","fraction_decimals":8,"total":"20000000000000000","usd_value":"522.797328538402","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1249581181/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1250132294,"name":"CampFyre Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/25/736b94c20dda48bdb46c311a7be3b192.png","unit_name":"FYRE","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1250132294/","collectible":null,"creator":{"id":3556138876938488000,"address":"EZYASAKZOIDZH2Z3BNSVVEJBCXXFBCW34WCIH2FPH2VKLZ4IINPZBQ4V5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1251829038,"name":"KRS TRADING DAO LLC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/20/492914692b11422d89a1740d3bf4438e.png","unit_name":"KRSTD","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1251829038/","collectible":null,"creator":{"id":3566908197062579000,"address":"HLJAL2NDIL7MZC2HIY7MIL647DDDEX34H4LQ56IYXW7NMWGXDYIQCP5LP4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1256765304,"name":"jsrUNLOCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/11/cbea9245470f4f0687d6e62dbb09a0d7.png","unit_name":"UNLOCK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1256765304/","collectible":null,"creator":{"id":3565036551690297300,"address":"HH4HEAB2WE6TWS2CVCZ7F3KW5P24YYH2EJGJ3YSWEO7D4PYZYMYTIIG7UE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1257136405,"name":"Lofty 10828 Pluton St","logo":null,"unit_name":"LFTY0321","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1257136405/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1258524377,"name":"Folks V2 Meld Gold (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/22/e08070ea578c41769d15d638cd352f2f.png","unit_name":"fGOLD$","fraction_decimals":6,"total":"100000000000000000","usd_value":"100.948203956268","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1258524377/","collectible":null,"creator":{"id":3567969950712893400,"address":"FXSTEOMHRWW6N5K3KF3UU2I2QABPKRVV2NRIO5WMRCG46AHIW6YWKRJI7Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1258524381,"name":"Folks V2 Meld Silver (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/24/2f81662ffb65435d9455bf4abe409715.png","unit_name":"fSILVER$","fraction_decimals":6,"total":"100000000000000000","usd_value":"1.008438899048","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1258524381/","collectible":null,"creator":{"id":3567969950919054300,"address":"JK4OF7KFXTH4FPXM7WJP2QR7PS5OCTO64SPCSDQCVRS3OZXPCCE5ZAVKP4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1259645348,"name":"Gunny Matchmaking Rating","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/01/b57d41f3bcc448a58fd0162f8738fa6b.png","unit_name":"GMMR","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1259645348/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261011241,"name":"Apeiron 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/03/2be929a883544d3ba7252913a175a6a9.png","unit_name":"APRN2.0","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261011241/","collectible":null,"creator":{"id":3548218285339334000,"address":"A6SJO23LZ2NONURT5W2JUJGPJWQCX5I2VDG5IKWEAQMMSRBODSKWQHPT2Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261301160,"name":"Karzio","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/04/26244289c7c64e5cba8a4dbf40f1631c.png","unit_name":"KRZ","fraction_decimals":9,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261301160/","collectible":null,"creator":{"id":3568148829083439000,"address":"OBYDRA4NAUVCJN2ET3EPD7PGQJXZU3DM6LWUW7I567W7JLZR7AN6MS3ZMU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261952433,"name":"Peperium","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/04/7a2d31c97ee44340a2b09a1cd1cc96b2.png","unit_name":"Peps","fraction_decimals":6,"total":"1420696696000000","usd_value":"0.000002888196","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261952433/","collectible":null,"creator":{"id":3568586701001975000,"address":"F7RUA4SRPMWNF72UPWX44VYJVWQHFRF2I32XVOI53SC4EJ2XU4OW2YLPZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1262355871,"name":"Harvest seeds ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/16/5cf520d9b5974d0797c410b7ab5b0d39.png","unit_name":"Hsed","fraction_decimals":2,"total":"420000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1262355871/","collectible":null,"creator":{"id":3509664257160200700,"address":"SEYX5F2S3H2TLISOB2UAWEGPWPHYLIV53ZF5XK3OQCXOOVNOYWDGLXVYA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1265975021,"name":"NIKO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/02/d9699190064a41679493a0b5c30d0d83.png","unit_name":"NIKO","fraction_decimals":6,"total":"3141592653000000","usd_value":"0.000043054842","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1265975021/","collectible":null,"creator":{"id":3569265810977944600,"address":"WGZK33HTNKWD6HBZNHQVOHY7NIRSSTTV45DXBZUYPK5S54YSRUN2RHG6RU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1267506082,"name":"CLUB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/7b10e3c067e24dd79da52ef4b86ba706.png","unit_name":"CLUB","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1267506082/","collectible":null,"creator":{"id":3556760056164519000,"address":"DC3LKAL4XZUOBGGVJ25LJAWXKLDSZGUS25YS5E6SCE2L542GIUCFT4JK3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1268830233,"name":"Daffi Reward","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/10/562f1ba1f420455d90cebfd2e3a90110.png","unit_name":"DAFFIR","fraction_decimals":6,"total":"200000000000000","usd_value":"0.006588909581","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1268830233/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1274454607,"name":"Sigillum","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/14/b2bc3698b0c648aea233ac12592adc38.png","unit_name":"SGM","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1274454607/","collectible":null,"creator":{"id":3570509900412756500,"address":"BRK652BG42PXOISNWQAJTLZWLDDGLUM62HW3KVUNROSNAQSOEJ6BQU4PBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1274539825,"name":"GEIBOND","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/28/c6c98b2e081549c7b84e431b782aa24f.png","unit_name":"GEI","fraction_decimals":6,"total":"30000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1274539825/","collectible":null,"creator":{"id":3570520936154609700,"address":"QOZ2GERRR2IKMU7UL7PC5C7M424Y4A7FYYB7IZIDKGXNWSXU7XLEZBNKMU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1275370710,"name":"SUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/26/a02f4fe801c94eb1a5f8ad7f5909db37.png","unit_name":"SUS","fraction_decimals":4,"total":"7777777770000","usd_value":"0.000007359523","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1275370710/","collectible":null,"creator":{"id":3570653397249407000,"address":"7WU72BG74E5QGL7YNCZDKA2ZI5NHCJWF6EPMMTRSUPLDGUJL7SEVBZI2IU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1277633086,"name":"THE BORG COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/805634cb72d6463eb44657cd591cbc7f.png","unit_name":"BORG","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1277633086/","collectible":null,"creator":{"id":3570340892218886000,"address":"OACKNDZMUZMSQFF5P32DWP63NLJ5MUZ3KH3JNND44Q2NGNWZ34KKEV7T2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1277979657,"name":"BLCKRCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/06dab2c25c5d43238713e715ce281837.png","unit_name":"ROX","fraction_decimals":6,"total":"111111000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1277979657/","collectible":null,"creator":{"id":3472477482652185600,"address":"ROCKZH64HIKA7CHG2QCBON5NBIDIORSR72SGITEAAGLAVAHXHKAW3P7CCM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1279721720,"name":"Phantoms","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/8bc585ca991b4c68b2766606354cca96.png","unit_name":"phntm","fraction_decimals":8,"total":"700000000000000","usd_value":"0.000831925892","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1279721720/","collectible":null,"creator":{"id":3563319063032002000,"address":"YI7APPJQ6P2CLKW5E7YZ5NFMC4KBGES2EXN72ADUNX2BNQPKOOMIBVHWJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1282184111,"name":"Communism Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/26/b5ced5bdedcf4f28a4df44de031e6b47.png","unit_name":"CMC","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1282184111/","collectible":null,"creator":{"id":3566799158307551700,"address":"ULWJPKCJL4OBJYVH2UUPDCFO4ZPI3HMRXB5KV625GK2SQJ5PYBYOYRMGBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1283139906,"name":"Lofty 13596 SW Mapleview Ln","logo":null,"unit_name":"LFTY0303","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1283139906/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1283150379,"name":"Lofty 88 Madison Ave","logo":null,"unit_name":"LFTY0314","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1283150379/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1284444444,"name":"Orange","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/27/9e4d1ca7fc5a408b87b2f47b50e4749b.png","unit_name":"ORA","fraction_decimals":8,"total":"400000000000000","usd_value":"0.053206075006","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1284444444/","collectible":null,"creator":{"id":3572074766054918700,"address":"JP3ENKDQC2BOYRMLFGKBS7RB2IVNF7VNHCFHVTRNHOENRQ6R4UN7MCNXPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285225688,"name":"Barb Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/24/58d44eb4d9ef476499ae789a2f0c50a6.png","unit_name":"Barb","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000146395774","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285225688/","collectible":null,"creator":{"id":3572181047133209000,"address":"BARBHZDQ5MP3QI6YJPOLEUJAVBH7OQFK6GQKN52FQJQP65FXHMPXSRD4FE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285492943,"name":"Arbitraz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/27/ef200efd81b444ad8a70df00d1770250.png","unit_name":"ARBZ","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000012899113","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285492943/","collectible":null,"creator":{"id":3572224277365806600,"address":"FAR6R7FZTW6NZXH2SVHIPBNMPIFPAJ4BY6322PEQPTARJCODVR6BVU4A4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285683351,"name":"Wookfi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/04/6a26706622234bfbb01f66cd3d13978f.png","unit_name":"WOOK","fraction_decimals":5,"total":"100000000000000","usd_value":"0.000765909966","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285683351/","collectible":null,"creator":{"id":3519329083934511000,"address":"UPFKFTVZJW2MMB3LQF6PMS5KHPZU5ETFHCJITGT4FX4CZK2Q7U32GP2QRM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1289298713,"name":"Space","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/01/9ac3ebd7ccb44d488fc1d66e6519cace.png","unit_name":"Space","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1289298713/","collectible":null,"creator":{"id":3572603214963149000,"address":"IHZJWVG6LZHH3ZCG6UM2CAOAPZKYKY3MS3SSDHMDNIZWXIHP7YTTKAXBEM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1290751153,"name":"Dogebarb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/28/14c9991e5a9740b8b4aea81eca9e3636.png","unit_name":"XDB","fraction_decimals":2,"total":"20000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1290751153/","collectible":null,"creator":{"id":3572708142819902500,"address":"XDBNE3DYITL2G77I37TLKT4JSLR3U7MO5S6MTCZHB5FF25AZVJMFEOWJ6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1294383366,"name":"OUTSYDE GLOBAL BVI CORP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/04/4551ebc0e70043a79f8f235d6407fa67.png","unit_name":"OUTSYDE","fraction_decimals":6,"total":"35040000000000000","usd_value":"0.000002682539","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1294383366/","collectible":null,"creator":{"id":3572996171957208000,"address":"PAHHEFCXFIBGMDREMM7YENUUA26KBTY5267VWZ5YAWL5XRPUMCUKQFWYQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1294465507,"name":"TRUSTY DIGITAL DAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/d93baac83d034231aa9ef13fe068eff1.png","unit_name":"DAOGOV","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1294465507/","collectible":null,"creator":{"id":3573010117497454600,"address":"23RWHHKDQTWBHTSKTRYSMWXIXS4KLMIUZOSLKOKAQFEZDU2NGXDXVC3RUM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1306013327,"name":"SealsToken 🦭","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/31/b678397e56924804b6d041f1ebfc712b.png","unit_name":"SEALS","fraction_decimals":4,"total":"4204204204200000","usd_value":"0.000000021827","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1306013327/","collectible":null,"creator":{"id":3573022707442633700,"address":"N2VVXWYHTULC3RCD2XBGNO2ZKHBHZ6HZVJH2GORVVFNZCJPHYHFPLRHUSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1359744886,"name":"Toke","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/26/c337ec5d1dd94e5589b6bf9da2c5cf74.png","unit_name":"TOKE","fraction_decimals":0,"total":"42000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1359744886/","collectible":null,"creator":{"id":3574011295472589000,"address":"BLU5NLWSSBM5P3HIXIGIZPY2MJD3VK2EFOYA2G6F7ES36R5BJAG4QK5CII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367611498,"name":"5003 Deneen Dr Lending","logo":null,"unit_name":"LFTY0341","fraction_decimals":0,"total":"421","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367611498/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367657332,"name":"4318 Clybourne Ave Lending","logo":null,"unit_name":"LFTY0334","fraction_decimals":0,"total":"250","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367657332/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367696984,"name":"3139 West Blvd Lending","logo":null,"unit_name":"LFTY0332","fraction_decimals":0,"total":"320","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367696984/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367723155,"name":"19416 Winston St Lending","logo":null,"unit_name":"LFTY0342","fraction_decimals":0,"total":"140","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367723155/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1387094911,"name":"Rowdy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/d80b08a39c724114baad82355122be2f.png","unit_name":"RWDY","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1387094911/","collectible":null,"creator":{"id":3575126185912444400,"address":"YCDJ677XDLCAJPJ2AEUC43YMWPFUKFN55ISB6UTG5OTUK2KZ64PERKCCWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1387238831,"name":"$GOANNA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/02/06/ce27c59875f84c8b93066b83a1d9bc1a.png","unit_name":"GOAN","fraction_decimals":6,"total":"6942069420000000","usd_value":"0.001713492165","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1387238831/","collectible":null,"creator":{"id":3575132385447511600,"address":"GOANY3Q75XCJL74LIU24ESJCJZXTCSOHORAO6JIFQSVBGGNVZ5B7VEVFWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1390638935,"name":"MAX COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/13/eedf1a66b1ba4277b18ac6481e38fdc9.png","unit_name":"Max","fraction_decimals":9,"total":"100000000000000","usd_value":"0.223943616748","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1390638935/","collectible":null,"creator":{"id":3575368018253859300,"address":"MAXADD6GIJO5RFUDV6PGAQXZZFOSBPRN5ZZHCHESWGY5QFAXBQZN4KLEV4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1392353330,"name":"Ponchik","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/0a06ee8701c64addbfd3527077b1cd4b.png","unit_name":"PURR","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000026329309","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1392353330/","collectible":null,"creator":{"id":3573838988764532700,"address":"H6IGBW7JXBYUKVMY3LBWXRTSNSZFHZ3FAAWEYWD7D7COJXA2JGPDNQYUIM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1392374998,"name":"Aramid Voitest","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/aa7df2cb7eb14eba8bb2f5f28c6159d4.png","unit_name":"voi","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1392374998/","collectible":{"title":"Aramid Voitest","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmWtz8Bb1AByTopz3MhSeY8wgms8ZNoKUaGySpGccBhFug","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1392374998/","collection":null},"creator":{"id":3575476023608925700,"address":"VINY6VJDHYYSKTRE54XHOUMS5ISV6A5XHOV3HMMLBNJNHNLIMYFRMLLXOI","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1394684562,"name":"Golden Billion Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/13/5aa6228e6b9e4cb88deb18564ae2b23d.png","unit_name":"GBC","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1394684562/","collectible":null,"creator":{"id":3508714494584248000,"address":"JBRJ6OMCEQ53LDCSVYUYE2O2JU5KEKWVMOTYQDX4JYWS6VVDHAZYZFRCEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1398561305,"name":"DJMakode","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/01/4a1b5f02920843aab5e2cc13367073f7.png","unit_name":"DJM","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1398561305/","collectible":null,"creator":{"id":3470032129516334600,"address":"CAU4EGMQVILSAMXZHUV4AZB5QJHSM27OVV3WKYXCYQ3LNPH7IZEI2FIIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1405560434,"name":"ALGOTVLCORP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/18/6e7700d1c315435eb3ec936dda123a07.png","unit_name":"ATC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1405560434/","collectible":null,"creator":{"id":3576456834256520000,"address":"GF7ZVVTG5KLY4XER2AISYNCD6HU3HMCWWCTGSKJE2KCUGPMIXI2TZHKAGQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1421321088,"name":"OG Squad","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/16/1c4167532c054e278ad5549f60768442.png","unit_name":"SQUAD","fraction_decimals":6,"total":"100000000000","usd_value":"0.210586308759","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1421321088/","collectible":null,"creator":{"id":3577078108071469000,"address":"TFGX76GYHHNAUJOGBCNPK7ZC5VMXHFDUTGQYSNHUHEEIB7JQZRPZ6BTISQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1425999935,"name":"FRET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/26/084df6b54ba243aa9f115b5b0c36bafc.png","unit_name":"FRET","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1425999935/","collectible":null,"creator":{"id":3578139868594302000,"address":"BB7CXZ53EWCHCL2M4UC6ZY6H6FNYKJLS43FVE2A5WVHBEYWULUD63FBVEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1437818649,"name":"BigBoi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/31/cc0dceb050a04c0e93ffb873be915f61.png","unit_name":"BIGBOI","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1437818649/","collectible":null,"creator":{"id":3579156440945266000,"address":"G6ZE6XCK6UDESASOLY2JW3ZFNTJTM3KMRF2YD5PHRJ6YH5N56PCQI3U5II","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1447774422,"name":"Satoshi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/09/4da80bfb3a3f4f95b53847e1c2fd0ac0.png","unit_name":"SAT","fraction_decimals":0,"total":"21000000","usd_value":"0.018075712817","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1447774422/","collectible":null,"creator":{"id":3579781922755280000,"address":"SATWIABJJFSX3OJUUUWQKHO7HAXO53GLSQXDFPHXDJ3VKJIRBECJRKM6DM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1453520040,"name":"GARY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/2761d43909b44c79bc1b60107b700a64.png","unit_name":"GARY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000002598253","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1453520040/","collectible":null,"creator":{"id":3580082539306813400,"address":"GRYXJISAXHIZSC2HIMS4T6UC3YI6UZATLDIQTS4XLIV5GVY5WHSIMCFKHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1459508661,"name":"TRUMPCOIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/17/61694e5e4e92417a87df36ddae74c013.png","unit_name":"TRUMP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000001054825","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1459508661/","collectible":null,"creator":{"id":3580337277866871300,"address":"ZSGVGUAKHUXXTPFNQX62MR53LRMYK2R7BJQJFXTSSV3OWSCBY4CKV22YM4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1477617299,"name":" Lofty 33008 Joshua Ave","logo":null,"unit_name":"LFTY0301","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1477617299/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1534723354,"name":"Lofty 402 N Wild Olive Ave","logo":null,"unit_name":"LFTY0329","fraction_decimals":0,"total":"1000000000","usd_value":"50.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1534723354/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1590103608,"name":"tmack Poker","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/23/d0aa2ca31d714f118aa90bf5b293eaf5.png","unit_name":"TMACK","fraction_decimals":6,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1590103608/","collectible":null,"creator":{"id":3578563128682116600,"address":"R3DPR6TEBIR6MUELIFCYRWKXDKLYN6XW2CBFXQFYOOX4FNYVQKNMQIY4AQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1612017486,"name":"Dooi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/8497a54972854e11bef8ecaea115e033.png","unit_name":"DOOI","fraction_decimals":0,"total":"365435296162","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1612017486/","collectible":null,"creator":{"id":3584126425759605000,"address":"RSRV67FWC3PVOMG2SAN3ENKLTPU2EM3M2U6XUW7DEVSRFUO2F2ZMKNJZWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1612080140,"name":"Lignina","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/0eda121017ce4706851d7c5978d74bcc.png","unit_name":"LGNN","fraction_decimals":0,"total":"365435296162","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1612080140/","collectible":null,"creator":{"id":3584126425759605000,"address":"RSRV67FWC3PVOMG2SAN3ENKLTPU2EM3M2U6XUW7DEVSRFUO2F2ZMKNJZWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1619680930,"name":"Lofty 440 Louden Ave","logo":null,"unit_name":"LFTY0302","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1619680930/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1635463099,"name":"Lofty 1821 Donetto Dr","logo":null,"unit_name":"LFTY0331","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1635463099/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1641736925,"name":"5401 Odom Ave Lending","logo":null,"unit_name":"LFTY0327","fraction_decimals":0,"total":"112","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1641736925/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1641737578,"name":"20413 Kingsville St Lending","logo":null,"unit_name":"LFTY0310","fraction_decimals":0,"total":"258","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1641737578/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1642742254,"name":"PiPhi Network Token Official","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/30/e386725033f144f3b604c283f349a2c7.png","unit_name":"PiPhiN","fraction_decimals":0,"total":"314000000","usd_value":"0.001720877215","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1642742254/","collectible":null,"creator":{"id":3564293655905946000,"address":"MHWVMMSIJRMTH4WWOWF64RWUU4HV2K3BPDVWR35AT2MYGUMJN4SOE6XMYE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1643003311,"name":"ComeOnu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/03/26/b14c9bd8c84b4157850f8caf7643dbae.png","unit_name":"Come","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000302883380","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1643003311/","collectible":null,"creator":{"id":3585723387603734500,"address":"UPSLKDAJVORDYA6NFLB7STBSWGJENTS6IU2DWFLOUWM27MCCSZZEIR5FF4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1643242122,"name":"STACIWIFHAT ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/25/2015327a54514664845dc6e67ee96121.png","unit_name":"SWIFHAT","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1643242122/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1651519046,"name":"HYPERCOSM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/13/1c63bbde4c2a40ee815e5a3b6de0703e.png","unit_name":"HYPE","fraction_decimals":4,"total":"50000000000000","usd_value":"0.000001975982","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1651519046/","collectible":null,"creator":{"id":3470928356071031000,"address":"HYPE6OXJLXYHJ7EERVI45TKAXNDNXID6NR4RA5YR56AHFRUNDA7B4BSY4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1656375343,"name":"783 Leonard St Lending","logo":null,"unit_name":"LFTY0325","fraction_decimals":0,"total":"158","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1656375343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1664954357,"name":"Denarius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/aa0962b28f264e85a56280ed483ce217.png","unit_name":"DNRI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1664954357/","collectible":null,"creator":{"id":3583437996719717400,"address":"ESNH7Z5AVNTFIKRYRYQY4SU4UBMRHCSULCHTQZC434MZBG6EF2URXH6NBM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1667526649,"name":"Radioactive Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/16/4b63ce1e9e084995a4f2bcff051a7939.png","unit_name":"RDC","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1667526649/","collectible":null,"creator":{"id":3587056163885031400,"address":"CS6NRKPKDOSNSTZQNP4OMKYI6QDCK5ZBUBJHQASQG2DJSNGAQRAEVMN3S4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1669576668,"name":"Algo Penguins","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/18/c2da362877604c3e882afd810d5492d8.png","unit_name":"PENG","fraction_decimals":4,"total":"4200000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1669576668/","collectible":null,"creator":{"id":3587459952557672000,"address":"TCVDZ52ZACYYXSK4KHSIGY6H6IEEUKTWPOZXHANG5PNAVTTQG6QST4XSBE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1669846624,"name":"Titanic Catanic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/3bbba093b2fa47b8a1d4a5ef115434c8.png","unit_name":"TC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1669846624/","collectible":null,"creator":{"id":3587611662020355000,"address":"FIOOQ6NHDEAIAOCNMKXTG4CWFNBZYY3FEXPGZT4NEWW7HBU4JCXCGRATEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1671234093,"name":"BOOMERANG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/18/2811db2362b140d2997ccad833d10b2c.png","unit_name":"BOOM","fraction_decimals":8,"total":"1600000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1671234093/","collectible":null,"creator":{"id":3587638807187465700,"address":"BOOYG672EQ6VHERPFFT6S4NHUHCQAK73565ILR22VL6VDXCEITI6DI3VSA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1673529904,"name":"Not Gonna Make It","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/23/278645995d4a48a09fa3f2fff3e43243.png","unit_name":"POOR","fraction_decimals":4,"total":"9004000000000000","usd_value":"0.000000011859","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1673529904/","collectible":null,"creator":{"id":3431296569091431400,"address":"XOGMYSO3KFWDLKIOP47GAIPNCR3EBNY3B3Q5DSJK3FWSSV6XKFNCNGD2TQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1674484158,"name":"Algo ETF ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/19/ad2265da310f4a4aaa45cadef4324a6d.png","unit_name":"AETF","fraction_decimals":3,"total":"3000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1674484158/","collectible":null,"creator":{"id":3587896561487805000,"address":"KOQ2VGDA2D5CXTDRVVZJTF444KYC4GWSB4O63NOWMROZHOQQTFXHXIUC5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1675316597,"name":"Wateract","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/03/24/20da93e36f51495781a7eb6cc894c645.png","unit_name":"WTR","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1675316597/","collectible":null,"creator":{"id":3587930608123138000,"address":"HYPERIYJSMAG7WBJKHUONE7UOWOVY5O7LLW2FQZNPTX5LRFMNHXKSEMJF4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1676550932,"name":"Lofty 122 Florida Park Dr","logo":null,"unit_name":"LFTY0320","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1676550932/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1677593614,"name":"OMI Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/21/14ca7db4618744299f085be850b2fbe7.png","unit_name":"OMI","fraction_decimals":0,"total":"750000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1677593614/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1679209072,"name":"Waifu Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/20/b5efc342225a403c88ec30d59837b9a3.png","unit_name":"Waifus","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1679209072/","collectible":null,"creator":{"id":3588122126073517000,"address":"EXUZAEP3KUXNTWP674ZERULU2GRB3XXZMGMQ73NRWOOBYHNZHUFACGEJEI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1680103549,"name":"Just Some Lemon Heads","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/22/81841ff9f7f14e498fbfe52b2a5934b7.png","unit_name":"JSLH","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1680103549/","collectible":null,"creator":{"id":3588179427023656000,"address":"VX5O3GIOJ6BC5LIO7JKOO3XA77KG22W4ARR4AKEI52AF3UIERLRLXTM5PE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1682662165,"name":"ALGO 200","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/22/ff48d99492a840a7bd54dce69c7847ec.png","unit_name":"A200","fraction_decimals":3,"total":"200200200000","usd_value":"0.000890299897","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1682662165/","collectible":null,"creator":{"id":3479620858600810000,"address":"4W7CN4VMAKV6C3IILWNFWTA4AKUKZ5VN2JVIOOIFPYJKR6ZOXUDLJI4BIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1682846697,"name":"WEAREFRIENDS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/24/c3d069825f114ed3bd2b1dd581c6ec12.png","unit_name":"FRIENDS","fraction_decimals":2,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1682846697/","collectible":null,"creator":{"id":3588329622518181000,"address":"EBLIZM3NBTIUKUAYERPQMWQYQKYECXYSKLHLMN4KWXACUT5XTJ25FMJRHA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1684682524,"name":"Pyth Network","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/974d3f6c0656447a90ad2ed09a65aee0.png","unit_name":"PYTH","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1684682524/","collectible":null,"creator":{"id":3588473920965092400,"address":"SM2AYKHKDF43JD37WQV3G2XMQJUXQ5X3VI2M447O656DHGSVVMEKWYR3GE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1691166331,"name":"CAT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/12/5607b7a53d3340c3ab3ac44806d1e8f7.png","unit_name":"CAT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001723124","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1691166331/","collectible":null,"creator":{"id":3430151587999110000,"address":"I5WGNS5KBKLNA3HDO2EVAPJ3EYMIZNDBT75JRBLAZUWSAU65NMK4OUS2LA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1691271561,"name":"The Block Cycle Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/20/4c64172ac4c54e98bb313f96bfbb9b54.png","unit_name":"CYCLE","fraction_decimals":8,"total":"2400000000000000","usd_value":"0.000570398792","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1691271561/","collectible":null,"creator":{"id":3564471806914266000,"address":"RV3WOT7762CZUJCH6XPGQQYO2YYUDSY6XEROBLS52JN2KEH4ZXMVL73NSQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1696445879,"name":"Staciwifdogs","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/25/13b94d3b3dc241d09b4a4cf22b0daba9.png","unit_name":"SWIFDOGS","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1696445879/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1696994742,"name":"Battle Denarius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/27/6e0ebfbbc7f143759a8f271e0a4e2732.png","unit_name":"bDNRI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1696994742/","collectible":null,"creator":{"id":3588692549418300000,"address":"EYRVZYWAVYVIBDZUOPFJU4UWJGDEJ5BVTTMQ32UNGNJ4XUNFU7WTDIBUNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1697010465,"name":"1432 Sara Ave Lending","logo":null,"unit_name":"LFTY0335","fraction_decimals":0,"total":"179","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1697010465/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1697189221,"name":"Universal Lending DAO","logo":null,"unit_name":"LFTY0326","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1697189221/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1699699699,"name":"BUMGARNERED","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/06/6a1acc45b8f348878870d9a50be1d043.png","unit_name":"OTSDGFKD","fraction_decimals":6,"total":"1699699699000000","usd_value":"0.000010389802","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1699699699/","collectible":null,"creator":{"id":3589210266435123700,"address":"GARNEREDSO725C4BGBHYTZVS7CMZWZ7XNBW6467GNCAJ4V6CRLWEGASOPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1703994770,"name":"Wormhole Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/7c77708ef4c141fc94351b7b99da4d12.png","unit_name":"W","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1703994770/","collectible":null,"creator":{"id":3589619305653400000,"address":"FO6L5HIYF6E6CGVPISQW5QN2FAZEFEE73DBTN2F4VX4O4ATNRGCD2OJIVE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1709118819,"name":"PYGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/30/a35afd55b8774a5d8abb90c0cce67a95.png","unit_name":"PYGO","fraction_decimals":5,"total":"210000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1709118819/","collectible":null,"creator":{"id":3589902143789453000,"address":"MUPCPQTBVUWSATYOHNI6FIFHW5QK47H2SQYU2QPNJJ27ZB5IPOYXDU3GXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1709999153,"name":"Kelly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/05/ffc6c2ada34b48d3a7781691d86a6f10.png","unit_name":"KELLY","fraction_decimals":5,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1709999153/","collectible":null,"creator":{"id":3587654123493213000,"address":"MBHCNTCGDSZDIWZZ3CZV2DGOKFLNUH6HFWYHJH5OWWD6OZQY3V7W7KWY5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1712734598,"name":"Hugeman","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/03/aa60e7272dea407e8e1e39fe765a207f.png","unit_name":"HUGE","fraction_decimals":3,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1712734598/","collectible":null,"creator":{"id":3589985702072328700,"address":"Z57PB4U5I7EASJUUT4QHTW3V6UKOSZ7M6QHYJBGWTVM3RP2Q5F57PNOLC4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1713627878,"name":"McSlip n' Slide","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/01/dede6ae3bc2243c0856f98149ba02b1d.png","unit_name":"SLUG","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1713627878/","collectible":null,"creator":{"id":3402598449904665600,"address":"6KNLJKRDXPM3IY7YQR4WAPFCDVPK3ARYGOMIOGESFS5ZHCW7SNB7H6WAAA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1715841778,"name":"Wadzilla Official","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/5f4f854a680e4078b8d9f81314e315bf.png","unit_name":"Wadzy","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1715841778/","collectible":null,"creator":{"id":3589377196581339600,"address":"FHJTXRY3ORXJS267ZWXMMPXVIIUKGIHGZCRSHI5IURB3VKNR4SD3CDBKZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1717112884,"name":"SHIGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/02/de9ad88f24eb49488e155b8e86d466cf.png","unit_name":"SHIGO","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1717112884/","collectible":null,"creator":{"id":3590393498523197000,"address":"UCF5XM5XN74WHZ3B5CBNYQMXV5U2IXR27FND5IF5PWZNR46K4NG56YI2HU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1718202069,"name":"Lofty 6117 Hyde Flats Road 21","logo":null,"unit_name":"LFTY0305","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1718202069/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1720582518,"name":"MEOW","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/05/0d0bc0d34e2f48108b89bc3cb95be622.png","unit_name":"MEOW","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1720582518/","collectible":null,"creator":{"id":3590649349932631000,"address":"3EAQOUUHPXQAV74QVFTVTKEPL3CZULOI3TZLUDP6FD5PCIY2AUOOJCIBMY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1721213788,"name":"RedWineHookerBlowGoldOilInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/15/5926671cc02a4b539590851c273be615.png","unit_name":"RWA","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000005470235","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1721213788/","collectible":null,"creator":{"id":3590701244535593000,"address":"LMW2KYSZK5BGKKADZREPOFV4R2GFKQRYFQVCCPEPIM7ZVGZO5ZJFSXPSPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1728597969,"name":"CABAL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/957142ee9ac94baf9af1abd0e25e55fb.png","unit_name":"CABAL","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000103750000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1728597969/","collectible":null,"creator":{"id":3585223684806090000,"address":"5HHELEWI4YWMUQ3ND4I3VCZB74D2EGZUJD7BFIAFDOUJA2EUUHA3KTFK3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1728734358,"name":"Boomer's Beer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/06/531a50ef9b314d3baa98111096f15948.png","unit_name":"BMB","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1728734358/","collectible":null,"creator":{"id":3591225989495734300,"address":"SCRWYVCLVU4P7OQ6XONGQDOW7HQUXFAPSMVJGFGSTT6PPJQFUSDODI4FBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730009239,"name":"My Name Is Jeff","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/07/a3781373437248a1aead60588efc9fe0.png","unit_name":"MNIJ","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730009239/","collectible":null,"creator":{"id":3591355711980949500,"address":"WP3T55KFDECKCHJC3VMH5DMPLQP3SQICBETJ75JNYNMR76C5USAJF6H6EA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730129371,"name":"DOGI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/07/4b0307f9cb9741b5bbc2348cff47ef7f.png","unit_name":"DOGI","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730129371/","collectible":null,"creator":{"id":3591367757809400000,"address":"QGPORNXP6RYWVOTULBNV34XTK5OX6E7FVHJMIZ66CCSHU2PGELTUBHMZ6I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730408100,"name":"Booger DRUD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/12/a34406efe3ca4741a5d0827e9346b205.png","unit_name":"DRUD","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730408100/","collectible":null,"creator":{"id":3589789971813920000,"address":"NH23I7ZEG6TX65KOKGZ22FKBRRP34WXC3HQ4Q6PSLSPYGXNA5RB2TPRFXA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1732165149,"name":"CompX Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/08/f81fcc7945414293b57968f397a6e78c.png","unit_name":"COMPX","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.002487959157","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1732165149/","collectible":null,"creator":{"id":3591525860785715700,"address":"UVNDN2Y6YR25JX4G6W5SIGFSPDZSEAM5RODOB74YQ6YEVJVNGHGZUT454M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1733294337,"name":"Monk Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/21/e5706b8fb4c1425f9ff181826594b575.png","unit_name":"monk","fraction_decimals":3,"total":"21000000000","usd_value":"0.000177289365","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1733294337/","collectible":null,"creator":{"id":3591622014328077000,"address":"YYD76Z2J6PMJ6TUH32CDKGWXQXUVVO4N75WVCJPO4YH6VIRBDULD2BZBGM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1734822901,"name":"Lofty 20 Sederholm Path","logo":null,"unit_name":"LFTY0340","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1734822901/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1735023773,"name":"AlgoMine Ore","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/09/10fe92eef92c4d2faf80728ca1306c7f.png","unit_name":"ORES","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1735023773/","collectible":null,"creator":{"id":3490097962259053000,"address":"MXWUHWU7SE6TX2NICEIUEACEBOM5U4GIVSUF73HV4AL2S5SFDSBPSNRTUM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1739702764,"name":"WATER PROOF","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/a55fb4a7250a4a4dad2445a70cf8f374.png","unit_name":"PROOF","fraction_decimals":8,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1739702764/","collectible":null,"creator":{"id":3591942149677498000,"address":"PROFVF4JVA65OIF3XCOF4SK52MZAZLJMX7JSQD6RCZOAFZWWHSXOFU4F5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1748330503,"name":"Gainify","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/02/20/348c0bb958304ee4bef12cd5dce4db0a.png","unit_name":"GAIN","fraction_decimals":10,"total":"1150000000000000000","usd_value":"0.000220588235","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1748330503/","collectible":null,"creator":{"id":3592489948535890000,"address":"GAINOWPJD6ALXXMK6VJC3P2KYJ3LPTSZQ35D5FCXYPEIBT7HIIDFTYFMHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1753171805,"name":"Lofty 1580 Andover Dr","logo":null,"unit_name":"LFTY0338","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1753171805/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1753483231,"name":"RE Advertising","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/18/99a7f091dbc6407f8b6318ce15d6935c.png","unit_name":"REA","fraction_decimals":4,"total":"10000000000","usd_value":"0.017743385563","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1753483231/","collectible":null,"creator":{"id":3592530826691422700,"address":"WOE76KOU3YIW3FJAUN2D26AL2GQF5I47M6KATVZLY67ITNNIYHGR6PZP24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1758575896,"name":"Kiro the cat","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/19/a44cf7900e5a424d9bf5393744848276.png","unit_name":"Kiro","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1758575896/","collectible":null,"creator":{"id":3593372502694886400,"address":"TYO2R4SVISTSSWNY6KH2PGBJTMDO6ENIF7JT4EHUU7NJGYCV4D73F7WICU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1768581362,"name":"ShutTheFuckUp","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/22/5f3c9014a4034b7295b3c3f5f81455e6.png","unit_name":"STFU","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1768581362/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1775410837,"name":"BOBO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/22/d3b0c39b1e8e4d77bd6c8b1b597cbe78.png","unit_name":"BOBO","fraction_decimals":5,"total":"6900000000000000000","usd_value":"0.000000189538","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1775410837/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1778633087,"name":"IDontGiveAFuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/043116a933644d29bc22a3fc03e8f677.png","unit_name":"IDGAF","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1778633087/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1781436223,"name":"BONKY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/23/af48870952a74776b0f42866b4b2203b.png","unit_name":"BONKY","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1781436223/","collectible":null,"creator":{"id":3594188292300421600,"address":"UR56KTJGRWO74KKXVA3FLL5R3PAQTBKLZEOU5A3KI6KPLTMVZYPVUDNL5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784249575,"name":"Holkan Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/23/50bf3fe0cb3948008e6ef5de253366b5.png","unit_name":"HLK","fraction_decimals":9,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784249575/","collectible":null,"creator":{"id":3593401526364111400,"address":"SOMXLRC7OD3W3FDL4L42YAZXAFZDRJQCFSVBC3AMBFT6KWKM4EKCMZ5GLM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784381997,"name":"Lofty 724 3rd Ave","logo":null,"unit_name":"LFTY0403","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784381997/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784383458,"name":"Community Coin Contest Winner","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/c9432da7945345909394274eddd9217e.png","unit_name":"CCC","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784383458/","collectible":{"title":"Community Coin Contest Winner","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafkreigfyuh4fiakkia6wbgbpqun34ub4ify7zkimh27sxuuw43rqddrci","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1784383458/","collection":null},"creator":{"id":3594304304437884400,"address":"HFF2NJYGLSEJK3SAGWCAVE63MN7GKAZWTCBQAFMPFPJMRUAKWZWKR25OM4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1784545587,"name":"GiveMeBackMyFuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/ad997bb9dac94998856c15588fd1f9d7.png","unit_name":"GMBMF","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784545587/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1788520109,"name":"HederaInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/009269080eec4766aaa15a9af3eee60b.png","unit_name":"$HBAR","fraction_decimals":5,"total":"5000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1788520109/","collectible":null,"creator":{"id":3594442091068505600,"address":"FIU6GNH45FKGNHMZW747LSDB5KVGHIEJESQH3LP5VFIE3RAFHI4FPNOEQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1790688562,"name":"AlgoPulse","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/25/137f0a33f6ef4c0cb1a27a3a0097f7f2.png","unit_name":"APLS","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1790688562/","collectible":null,"creator":{"id":3594576447649935400,"address":"XJTZ2TIK3GGUX3ZKQPAECWNPICQGCYJKQW5SRFF2AYBRMBA34YK5YHYAIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1791570043,"name":"BojackKickMyAss ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/27/091a4d5477b7498e93affdd7759b8775.png","unit_name":"Bojack","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1791570043/","collectible":null,"creator":{"id":3590991319685687000,"address":"QFMW4FLUBKANVAGKPJTCQJ76OBKZD3FC673O4KMK5JZ4SRTPRD3N5J6WI4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1796716691,"name":"$hit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/01dfa71a7008461a8cd4cf9ba3bb813a.png","unit_name":"$hit","fraction_decimals":0,"total":"419000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1796716691/","collectible":null,"creator":{"id":3595019266797681000,"address":"SHITOVAH66ZFSUISEZCJAAMYMTAUX3HNP7F6T52YVSZHEOLOWR4RFPJ2IY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1799290707,"name":"AVXChange - Audio Video eXchange","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/29/15341bcfcc634a1e9ad9179f2dd01097.png","unit_name":"AVX","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1799290707/","collectible":null,"creator":{"id":3582161585999526400,"address":"F76VL7TEHUKDXZR3D4OFD24XCLTMJDDBSJNQWNAW3YXRTXAJS6YUNI5624","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1801490588,"name":"Diginote","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/30/d9d82efc1c724219aaa9f13c9550c9c7.png","unit_name":"DIGI","fraction_decimals":3,"total":"4000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1801490588/","collectible":null,"creator":{"id":3595457837383437300,"address":"VX7B33IFNOX2JLQUNU7DL5UXKRU47SEH6I6ENZDIDVUWVFSRQMCZJGASDE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1802218309,"name":"Lofty 27 Pillar Ln","logo":null,"unit_name":"LFTY0400","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1802218309/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1802431943,"name":"Texas Farm","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/30/e09792e29a524daa9d2cd4d98783990b.png","unit_name":"TXF","fraction_decimals":6,"total":"230000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1802431943/","collectible":null,"creator":{"id":3595580207006729700,"address":"EWQHQFH7R5TI2A3KB7U33WT2W3AESHSEDQAMJCAHWETOJFV3Q7CRGVCQPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1803484794,"name":"Pulse","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/343b184ae7b84764ab5963f6a04e2695.png","unit_name":"PULSE","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1803484794/","collectible":null,"creator":{"id":3594576447649935400,"address":"XJTZ2TIK3GGUX3ZKQPAECWNPICQGCYJKQW5SRFF2AYBRMBA34YK5YHYAIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1808888848,"name":"AKPP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/06/4ec3838832b048df9fe95a5ba5cbb7dc.png","unit_name":"AKPP","fraction_decimals":6,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1808888848/","collectible":null,"creator":{"id":3594076945642512400,"address":"AKPP26VTMWZCIKOFTUWQ3T3ATJIMXDUFMSQDX4YRAA7TZOP3ZIQKTPKMEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1810650610,"name":"Umalliq Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/05/851815bcbcaf4cf9975e90f532b17a0f.png","unit_name":"UMQ","fraction_decimals":9,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1810650610/","collectible":null,"creator":{"id":3593401526364111400,"address":"SOMXLRC7OD3W3FDL4L42YAZXAFZDRJQCFSVBC3AMBFT6KWKM4EKCMZ5GLM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1812382524,"name":"CRAZYCOCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/16/96c57caf3df14abaaeb2f9e3d10ac521.png","unit_name":"COCK","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1812382524/","collectible":null,"creator":{"id":3596440564613603300,"address":"E7IBL62XALMTDOU4OWJG4QWNO6VB5GI5IYDWKN2U2WMUVDEGLRAUS73KZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1812920399,"name":"Doppler","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/08/5b3099054e7c4c6c813325104ea32cb7.png","unit_name":"DPP","fraction_decimals":0,"total":"8000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1812920399/","collectible":null,"creator":{"id":3596537440818903600,"address":"OWTCWDWYTLFRDOPEEP4LMKNG2DDQCX72OXCAS2VNK4E5XXTQ52WREYTFHU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1813373577,"name":"Degen","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/34ef7e8286384766bc7efc6ecaef3ecc.png","unit_name":"DEGEN","fraction_decimals":8,"total":"3696573033200000000","usd_value":"0.002128018237","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1813373577/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1813993557,"name":"WalterTheWise","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/06/9e22bc84a5b24666974d7fb1c7a9dce2.png","unit_name":"WALT","fraction_decimals":4,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1813993557/","collectible":null,"creator":{"id":3596615983762407000,"address":"ZHHKWF3GTYRKWBM4OXOEPCP33HC2LD5LQMVUZYNZQ2IAADOTLLENW5I2SE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1816201218,"name":"Lofty 2211 N Archer Rd","logo":null,"unit_name":"LFTY0407","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1816201218/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1818235033,"name":"BasketBallTV Tok🏀 ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/16/c21706108b604298af430a054c62cd17.png","unit_name":"BBTV","fraction_decimals":0,"total":"900000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1818235033/","collectible":null,"creator":{"id":3597037855105432000,"address":"YJAKPVOBSUNH2KGFYRGNVYX3RQT2VN2T545XDRZWLPXFIHLET4BQ3RZ7PQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1820063739,"name":" Lofty 800 Embassy Drive","logo":null,"unit_name":"LFTY401","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1820063739/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1821123863,"name":"SpeCie ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/19/00bb1fc8f5e84dc184aebe12b5aa7989.png","unit_name":"SPEC","fraction_decimals":8,"total":"5000000000000000","usd_value":"0.000331412150","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1821123863/","collectible":null,"creator":{"id":3517874820214083000,"address":"CVB6TBMAVA3OTE4FN7VNPHAWFAFKVKPYCTWOAJPYQ4PCHUWEECQXJQ5BII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1821328783,"name":"DALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/29/9e298f45b3e8425bab1c5ba9135098f0.png","unit_name":"DALGO","fraction_decimals":4,"total":"1000000000000000","usd_value":"0.000001205079","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1821328783/","collectible":null,"creator":{"id":3549198481807172600,"address":"DE52PISKT5KJW574FYSMTRGVR6DGC7EPE2H3L6QLMFTK37G25I3ENK5PVM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1837386140,"name":"MEOWEREUM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/20/3e3e11cee920443d9e0439c4043c8c47.png","unit_name":"MEOM","fraction_decimals":6,"total":"99999000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1837386140/","collectible":{"title":"MEOWEREUM","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafybeiavsry5du3xbzwgwnetdaohu5lby4w55iplmi6ar6wg2byl56nexe","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1837386140/","collection":null},"creator":{"id":3597224239643487700,"address":"MEWMJWOZDPQV5EO3RAOHCHDL65XFXKZOREKXRBRJIM6YBT5BBGX2PRGTUY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1839008085,"name":"Vault-Tec","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/13/48758ae4a7d34183b5732a9d57327da8.png","unit_name":"Caps","fraction_decimals":0,"total":"20000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1839008085/","collectible":null,"creator":{"id":3597687025053579300,"address":"DQBFQQKUDEVYTIWXJO5LFVETYPSHTN5J6C2LPBNGQLVBJCQ43HEUO4KMG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1841519945,"name":"Algo Chan","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/12/e8059854e4f640a09bd0879ddbbf98e9.png","unit_name":"ALGOCHAN","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1841519945/","collectible":null,"creator":{"id":3597737605773379600,"address":"L4BTUQ5FVCKHSQYYXOG2HPH3EKK4VXZSXK7FQBDWPRR3YJ5RQ6DVSBARDQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1847628608,"name":"Lofty 90 Madison Ave","logo":null,"unit_name":"LFTY402","fraction_decimals":0,"total":"1000000000","usd_value":"50.950000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1847628608/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1847793337,"name":"Albino Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/21/1329343813ba48e1bdfb9b6cb3d35305.png","unit_name":"ABC","fraction_decimals":2,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1847793337/","collectible":null,"creator":{"id":3444677914697840000,"address":"2LLQW6CVAGOITW4Y6QSJSL65V3BA5HENRI4QPWNXZQHKUPPLWW3FU23X5I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1848380132,"name":"MAGA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/16/23e89d7624064d73ad8abd396db640d7.png","unit_name":"TRUMP","fraction_decimals":4,"total":"470000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1848380132/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1861700769,"name":"Enopro","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/18/20cf24767ecb4f46b49d11e0e1ddfdf1.png","unit_name":"Energy","fraction_decimals":5,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1861700769/","collectible":null,"creator":{"id":3598736834751396400,"address":"4O2D777T2QBYXNRVAFQAMOVBTSKMGKPM7Q4II72LL4RIMPB2LU44OXA3KM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1863216700,"name":"Vault-Tec","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/19/f7400f7f7a084578939026a61f6063a7.png","unit_name":"SSC","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1863216700/","collectible":null,"creator":{"id":3597687025053579300,"address":"DQBFQQKUDEVYTIWXJO5LFVETYPSHTN5J6C2LPBNGQLVBJCQ43HEUO4KMG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1866354737,"name":"CARTEL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/28/32f9fb1f4e0f4c9da563ddeb1c6fc73b.png","unit_name":"CARTEL","fraction_decimals":8,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1866354737/","collectible":null,"creator":{"id":3599335433811843000,"address":"5JYTUUVLW3FJYIKXZYX3VIDNI46XGZ3KUBZKYWEM25JYYRMBPMS54OCSHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1868649204,"name":"Lofty 581 San Francisco St","logo":null,"unit_name":"LFTY406","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1868649204/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1868885560,"name":"Mini Moo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/24/df5ba000f84543f0baf3367311080f9c.png","unit_name":"MINIMOO","fraction_decimals":3,"total":"75000000000000","usd_value":"0.000002530824","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1868885560/","collectible":null,"creator":{"id":3386301789383790000,"address":"OAXQZTYXGLCA5YUVYGTKHBXPUUD2UGV6UTFA36X3POAMQEQAVWHHKZFMJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1882080161,"name":"The Helping Heart","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/27/a4c24a94661049139e6ef89844dc0547.png","unit_name":"THH","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1882080161/","collectible":null,"creator":{"id":3600434782624213500,"address":"HH4IWHBGARTSSXZROPE4Z5NAZMKQLHSVZOARICN5DBJ7MPJQFI5OIMA6NM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1882181253,"name":"Groceries Wit Bag","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/27/5631c43439c94d0b8d657e06007018eb.png","unit_name":"GBAG","fraction_decimals":1,"total":"70000000270","usd_value":"0.000000516969","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1882181253/","collectible":null,"creator":{"id":3592489948535890000,"address":"GAINOWPJD6ALXXMK6VJC3P2KYJ3LPTSZQ35D5FCXYPEIBT7HIIDFTYFMHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1886780008,"name":"Lofty 3761 Jade Ave","logo":null,"unit_name":"LFTY0405","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1886780008/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1888888888,"name":"EXA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/13/17209a92d0834194a85ca44b653eed76.png","unit_name":"EXA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000321378114","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1888888888/","collectible":null,"creator":{"id":3600191331377679400,"address":"EXAMARKETNGVS7HBZDDRJE2QST33WCBUQPYOQRJBYLMCE7TKKRCZRX3N2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1889681715,"name":"FLOKI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/30/0e6143de7f8347498b3a3f20bdc81671.png","unit_name":"FLOKI","fraction_decimals":8,"total":"18446744073709550000","usd_value":"0.000049645196","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1889681715/","collectible":null,"creator":{"id":3600784796964803600,"address":"TSTOOLHNTQPDCVBV2FF3E5MCC7HV7LRJYPNEWNKYNOV3ETUTHRLWQQDPIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1890002545,"name":"Goblin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/24/f54e9ebed66d4d5287b58a2ced164caa.png","unit_name":"Goblin","fraction_decimals":5,"total":"5000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1890002545/","collectible":null,"creator":{"id":3600797075693215000,"address":"4KAPWKE5SAKPMIJ7ONJDMPBISSBJSW6LXLQ5V63MUDHRS3MIRYIDX6C2UQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1893942045,"name":"Elegant Squidward","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/30/4f7f152b18974527a7003964e6f325f3.png","unit_name":"ELGSQ","fraction_decimals":5,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1893942045/","collectible":null,"creator":{"id":3601001833135865300,"address":"3YCRH2IP2UK3ZYWOFLRN7MHROGEAZUXDSKSAGPNKGG5FJUACXC4PZ4FEV4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1904048334,"name":"✓","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/f337549617f042f894c7813c609d1bc8.png","unit_name":"✓","fraction_decimals":10,"total":"200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1904048334/","collectible":null,"creator":{"id":3389748826092946000,"address":"V54H3GDGF2SZCTDZX3GF4LOYBHZ222IJKQBDMNB5KJJPDPUIGIJ5DLLA5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1909383343,"name":"Lofty 14018 Arcadia Road NE","logo":null,"unit_name":"LFTY0411","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1909383343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1930070705,"name":"BLOOM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/22/7a12ffc1c39341159a00cafabd4f8b52.png","unit_name":"BLOOM","fraction_decimals":6,"total":"69000000000000","usd_value":"0.000049110583","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1930070705/","collectible":null,"creator":{"id":3598298619530586000,"address":"CRRSPPKH3SUMVLW564WIUIE4APLFKLDLURNR5MC2ZQBTW6DM5OTPM5NOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1932283704,"name":"PERUSALEM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/08/45908280bbea40b9bcdc4e9e9fb176a6.png","unit_name":"PSLM","fraction_decimals":7,"total":"1440000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1932283704/","collectible":null,"creator":{"id":3497711243853358000,"address":"H5UAPS4CEU2XGITVNIHVP3L4A4DVADJI5CU6ZG7QEUI7DP2AOKSEVBOM3Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1938511342,"name":"Flerk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/10/bc4973cea868478390b9f801fdb423c8.png","unit_name":"Flerk","fraction_decimals":5,"total":"6942000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1938511342/","collectible":null,"creator":{"id":3602996773327625700,"address":"ZNMITO4B6NTSMRK46EJCLMRF7J2HTZGKRUS3ZAYCDPRSADVNRDCV23PXWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1949141767,"name":"Lofty 49 Bannbury Ln","logo":null,"unit_name":"LFTY412","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1949141767/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1954250035,"name":"PeiPei","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/12/f5dfa73bb2894e5fb87334fb47baba42.png","unit_name":"PEIPEI","fraction_decimals":4,"total":"4206900000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1954250035/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2004387843,"name":"AlgoAdoptAirdrop","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/23/e1795fd8fae3486ca6d7d77e809733af.png","unit_name":"AAA","fraction_decimals":10,"total":"1000000000000000000","usd_value":"0.002641760852","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2004387843/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2021905123,"name":"Lofty 1 Coolwood Dr","logo":null,"unit_name":"LFTY0410","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2021905123/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2031930691,"name":"Coq Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/0d031ec54ba549ac902a7e5699ac0f5f.png","unit_name":"COQ","fraction_decimals":4,"total":"694200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2031930691/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2032033778,"name":"Big Red","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/7f3531d0e99f4af089f18bc3e06908e7.png","unit_name":"$Td","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000001391054","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2032033778/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2032064107,"name":"Kimbo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/1ce97307d79042a0b47b048f0440563e.png","unit_name":"KIMBO","fraction_decimals":6,"total":"69420000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2032064107/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2034194087,"name":"Algobagners","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/21/f09d5448f0124f96b10a87bb241ed8ea.png","unit_name":"BAGNERS","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2034194087/","collectible":null,"creator":{"id":3604831712142988300,"address":"TEGPPBB52XA6QRDKTVXOGERALA7VXYEW4P3HKLRQ5IVPJWUS4VQUWRTHYI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2065944898,"name":"Lofty 503 Colorado Street Unit 4","logo":null,"unit_name":"LFTY0408","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2065944898/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2141212347,"name":"Pelotarand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/03/d5d1846629644348bdc69c05091124b6.png","unit_name":"Futbol","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2141212347/","collectible":null,"creator":{"id":3578705220534302000,"address":"3WOWQ5DWHGTETYQV4MOZZSUPQM73YCENTKHVZ43X3OVI5OVYFQOF4GPEGI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2142873258,"name":"Lofty 14705 Fairland Dr","logo":null,"unit_name":"LFTY0415","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2142873258/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2153663700,"name":"BabyRaptorCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/23/cb7f1e5a8b1b4e02a575881f201323eb.png","unit_name":"BRC","fraction_decimals":4,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2153663700/","collectible":null,"creator":{"id":3607914746027168300,"address":"WHDRS2THWJELBI3OF2M4VWPMLRKBOSMAILKLANOEYYKSWUNGOI32CJSPRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2154668640,"name":"MoonJuiceRocketFuel","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/20/d8065f1a8f2f4f32b62d963cc6f4e200.png","unit_name":"MOOJ","fraction_decimals":8,"total":"2100000100000000","usd_value":"0.008922424865","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2154668640/","collectible":null,"creator":{"id":3607996198553579000,"address":"STV2SJ7EDBJ6ZW4SLJE5BDNF5573IAEVGY35GBKS6IHU5LUWGSCDO5UX5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2158057006,"name":"Lofty 6601 E Hearn Rd","logo":null,"unit_name":"LFTY413","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2158057006/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2168458266,"name":"Nature Discovery Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/15/b5bc185ea81444b7a7b6ab5cf9a52a6d.png","unit_name":"NaDi","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2168458266/","collectible":null,"creator":{"id":3608699755088786400,"address":"NADI2DRZNBH2S4GUERNGFPMJTOSZUVSFCT6QOTUPNCB5P7MRHAWESQ33BA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2171748140,"name":"Lofty 15 Wilshire Blvd","logo":null,"unit_name":"LFTY0417","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2171748140/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2178986920,"name":"Reity-00001","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/ae44249d6ee641eca230d06194646b01.png","unit_name":"RTY-0001","fraction_decimals":0,"total":"800","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2178986920/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179003307,"name":"Reity-00002","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/dac4d3d08e5e4b77a67b1e26d79d1a1c.png","unit_name":"RTY-0002","fraction_decimals":0,"total":"515","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179003307/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005485,"name":"Reity-00008","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/ac708f989e8c41aab4221d79a2194c0e.png","unit_name":"RTY-0008","fraction_decimals":0,"total":"789","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005485/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005643,"name":"Reity-00009","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/c4c647b336af415eb72fab4a6c4870d3.png","unit_name":"RTY-0009","fraction_decimals":0,"total":"663","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005643/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005793,"name":"Reity-00011","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/8c896256c6cd4e268efac51e7bd4b2f4.png","unit_name":"RTY-0011","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005793/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005878,"name":"Reity-00012","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/009ab99f56e641f0a91bebaac03eec8c.png","unit_name":"RTY-0012","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005878/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006117,"name":"Reity-00013","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/5d08175dae524a3fadd09d3f330e2836.png","unit_name":"RTY-0013","fraction_decimals":0,"total":"1065","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006117/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006208,"name":"Reity-00014","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/877f53c240e64416b8e0b477bb7a0c91.png","unit_name":"RTY-0014","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006208/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006383,"name":"Reity-00015","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/f67f71ac862a4afeafd5f601a475f489.png","unit_name":"RTY-0015","fraction_decimals":0,"total":"1035","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006383/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006553,"name":"Reity-00049","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/6b793b261e2b4d09a38980dff1499677.png","unit_name":"RTY-0049","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006553/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006602,"name":"Reity-00050","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/4811c9d652aa49f688d7738ddc7597bf.png","unit_name":"RTY-0050","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006602/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006698,"name":"Reity-00051","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/b3e13e6f8fbd46d1982c2dcc5a41010a.png","unit_name":"RTY-0051","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006698/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006831,"name":"Reity-00052","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/cd83c93551bc4fb084ad0977092512b4.png","unit_name":"RTY-0052","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006831/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006900,"name":"Reity-00053","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/e19a73e5d62f45328b8aea62e38d7e21.png","unit_name":"RTY-0053","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006900/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007017,"name":"Reity-00054","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/4f942daa207b4f39bde65ccabf9bd98a.png","unit_name":"RTY-0054","fraction_decimals":0,"total":"2120","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007017/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007095,"name":"Reity-00055","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/d35a3a67a25942ec9cb2f9392bddab0e.png","unit_name":"RTY-0055","fraction_decimals":0,"total":"949","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007095/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007311,"name":"Reity-00061","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/42ad3d58e273434ab65844bee875a404.png","unit_name":"RTY-0061","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007311/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2188136626,"name":"Reity-00062","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/25/ad1fd4388afb457f83962790c4973dc9.png","unit_name":"RTY-0062","fraction_decimals":0,"total":"822","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2188136626/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2189310640,"name":"Dogocoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/23/0a30e6c66a304be0b241f9d522ec9403.png","unit_name":"DOGO","fraction_decimals":0,"total":"71000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2189310640/","collectible":null,"creator":{"id":3610760818499102700,"address":"NNL4TJXASL36CBIJLYRH4TEUCVPU6W6Q7PCKDQYFV3CGZJ34PNZUVTH7OE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2189603070,"name":"Lofty 217 McClallen Dr","logo":null,"unit_name":"LFTY0323","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2189603070/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2190190220,"name":"POORWIF","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/24/b30a31de5922481dbce5e5af75871cda.png","unit_name":"PW","fraction_decimals":5,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2190190220/","collectible":null,"creator":{"id":3610851050454076000,"address":"KJV3G76ZQXCXX46MQKQFQKLCZEV27SRLZGFOIJUXPW6E2OXR6EKO55C4ZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2190997399,"name":"Popcorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/25/b90750a113bc4c22ad928812faab8e8f.png","unit_name":"PCORN","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2190997399/","collectible":null,"creator":{"id":3610947277181418500,"address":"JU7ESXFOKCICHVUBEWMABVQPRLDYRHYTFMIGYB7WIXEF6U7GDIDJ3WO7XY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200000000,"name":"TINY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/29/238ed21b2e2c4ce9a5a11a7cfe4c50aa.png","unit_name":"TINY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.021923966092","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200000000/","collectible":null,"creator":{"id":3611727404288449500,"address":"TINY2IS2LVHYXH6YCVXMRKWET5YTMAUXOTGAMLVYKTJGQOEKNB2BZ6TINY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200403278,"name":"Brett","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/31/359d6136622044029ad0d72efd5d2b0c.png","unit_name":"BRETT","fraction_decimals":6,"total":"9999997602000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200403278/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200421096,"name":"mfercoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/31/153ae95d3d954e7d9a4146f77e3319b5.png","unit_name":"$mfer","fraction_decimals":6,"total":"999998066000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200421096/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2205554793,"name":"Lofty 999 Canyon Rd","logo":null,"unit_name":"LFTY0404","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2205554793/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2209482843,"name":"GOD CAT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/03/3082c4828a6b4f7ca4b21cdd599bc090.png","unit_name":"GODCAT","fraction_decimals":7,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2209482843/","collectible":null,"creator":{"id":3612460804666280000,"address":"V2X6VAYI3PI4KT3IXDMEX7ZXPQTEIGMIF2WISPNGZZX4AFE2QVCDOBHUCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2212390575,"name":"RobotGPT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/03/81417addf4b4455f843a206da96b2aef.png","unit_name":"$GPT","fraction_decimals":7,"total":"210000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2212390575/","collectible":null,"creator":{"id":3612754028768747000,"address":"ZLAEKEQPVCCFHTZ5RVXLUO4Z6I5EPUVO55NMGVWIEVXXKLCCCU75WXIAEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217382894,"name":"Lovely Toy Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/01/c8f0d57bd6f34296a02c68ca001427bd.png","unit_name":"LTT","fraction_decimals":2,"total":"120000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217382894/","collectible":null,"creator":{"id":3613161982316958700,"address":"LTVCM6JPYCZ4CFQROAABEKRQR22AOTOKJRJ4P2HS66UZAIVHTADCN4HDME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217452732,"name":"MILKIE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/07/cd009c7ad5fb445990538b162f1d46cd.png","unit_name":"MILK","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217452732/","collectible":null,"creator":{"id":3613168430875698000,"address":"2KAKWWHSPNSNSGQ4XU2HOMA4LWCSYQLHQJMHUWCUZOTQLZIYJDQ76VQD4Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217742127,"name":"Pineapple","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/06/0ff5fe9e6cd14280a4e9bd673184f7f0.png","unit_name":"PAPPL","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217742127/","collectible":null,"creator":{"id":3612948463063886300,"address":"YADXHRH5SDXUZDZDGRWBDCX42ZNVVQTWCCYELDMJXINK7DZPRIRQUVZNXQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217970766,"name":"TINU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/06/c517ad18e0f64bc3a2b2a3ae71dfc0af.png","unit_name":"TINU","fraction_decimals":5,"total":"21000000000000","usd_value":"0.000004791934","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217970766/","collectible":null,"creator":{"id":3613232734814163000,"address":"DOTEZTWN3UL5MWETYIGGE7KBPZCMLIX5HQM2TEDAKXMEXDTJBTJEV2DJOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2219072165,"name":"Lofty 1317 South Solano Dr","logo":null,"unit_name":"LFTY0420","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2219072165/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506576,"name":"Reity-00003","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/77c9190247c148c28a31cbcd97509c75.png","unit_name":"RTY-0003","fraction_decimals":0,"total":"635","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506576/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506851,"name":"Reity-00004","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/0947e89f85ba4adeba47b7ed4ccbea24.png","unit_name":"RTY-0004","fraction_decimals":0,"total":"643","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506851/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506985,"name":"Reity-00005","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/50e66639e7e446428e9b6b49735e9936.png","unit_name":"RTY-0005","fraction_decimals":0,"total":"725","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506985/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224507146,"name":"Reity-00006","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/8ac05fcc08b04deea8b0f1d3290b80cc.png","unit_name":"RTY-0006","fraction_decimals":0,"total":"720","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224507146/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2225023532,"name":"PLANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/10/b42a0943633c4d9cb38d0f510c7adb53.png","unit_name":"PLANK","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2225023532/","collectible":null,"creator":{"id":3613988087539997000,"address":"FWOR2UZONUKWBTHA2O725Q6K5QPIYCEWAMKJ7WNG4EHGXUDDVHJ3UHOU7E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2225389245,"name":"BRO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/12/8f4d9daea59d4bbea9fad3cdf31a2477.png","unit_name":"BRO","fraction_decimals":7,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2225389245/","collectible":null,"creator":{"id":3613797483211647000,"address":"VB7Y3JMFFUAZT2NLMHYZ535DZKLYMYQJZR3W5PWIWXVXHL4S42AZSRQRPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2229464160,"name":"Reity-00063","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/48097c84fbf24b9eb60ae14296904be3.png","unit_name":"RTY-0063","fraction_decimals":0,"total":"3780","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2229464160/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2231655812,"name":"Lofty 516 E 2nd St","logo":null,"unit_name":"LFTY0418","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2231655812/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2232709534,"name":"WOJACK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/14/a5e2bfa27b724f8ba06adfa9bc184476.png","unit_name":"WOJACK","fraction_decimals":7,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2232709534/","collectible":null,"creator":{"id":3612460804666280000,"address":"V2X6VAYI3PI4KT3IXDMEX7ZXPQTEIGMIF2WISPNGZZX4AFE2QVCDOBHUCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2234296099,"name":"Tangerine","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/14/7db087bd1fe349779a0cc8b588134692.png","unit_name":"TANG","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2234296099/","collectible":null,"creator":{"id":3508387562481593000,"address":"B62FQCUV6IOUM44PQPLKC32LG7UTHTYZND3CX3GNCVZK5S7RAKOEDANO6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2234720097,"name":"PartyCatsWorldwide","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/20/ef5aa2fa20d14a62b72819576ce358d3.png","unit_name":"PCW","fraction_decimals":6,"total":"500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2234720097/","collectible":null,"creator":{"id":3403698065238691000,"address":"J4RH5UT6ZUXLYNBEF23VKEU3YT3YB7PPXXNWRAXO4KIFLJTSEQJQZU3EAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2247034585,"name":"Gunny Rush Rank","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/22/e1a564bc827045f986c172618a65875d.png","unit_name":"GRR","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2247034585/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2248486597,"name":"Lofty 1190 Ridgetop Ave","logo":null,"unit_name":"LFTY0426","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2248486597/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2250315158,"name":"MELON","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/21/b390d5c340ee44efa75417d139d73e02.png","unit_name":"MELON","fraction_decimals":5,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2250315158/","collectible":null,"creator":{"id":3616019270052090400,"address":"YE6KS62XUBK3IPUMD6HYADTOY3245RPH5WX7YLISMLM36KR2CJE4ZK4FJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2265398863,"name":"Lofty 3560 Saint Albans Rd","logo":null,"unit_name":"LFTY0423","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2265398863/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2275998523,"name":"Rich Cats","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/3e26354633ce444cb29c3e740319ea1b.png","unit_name":"NALA","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2275998523/","collectible":null,"creator":{"id":3618226406623345700,"address":"FFQCZSLPXSOMKMIID53PEOBBJZFHWS2IQEDE3HWUNSKWEHOSUJEGYE27PA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2276009647,"name":"LANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/3371f014091b4df0a13710d7c470e0ac.png","unit_name":"LANK","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2276009647/","collectible":null,"creator":{"id":3618230607143600600,"address":"MHVUBRTMGQSZEKYINI3PM3VIDFROMZNCCRACJEN4II3SMRHIBVSEP7KWLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2277546303,"name":"MEMEI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/c9ae53f4a0194f11a2d5804d7f339e8e.png","unit_name":"MEMEI","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2277546303/","collectible":null,"creator":{"id":3618381402773447700,"address":"CHABO5BMBBF32X72WP4SDQHFJDRUYXRVVF2XRVHYZMEXUUAO6TKYO2C7GI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2279886826,"name":"Network Marketing Insider ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/05/74d3d8bf7cf04b7e8953887292cdcd1a.png","unit_name":"NMI","fraction_decimals":0,"total":"1000000","usd_value":"0.009993738761","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2279886826/","collectible":null,"creator":{"id":3618423824741051400,"address":"FY5VZYSXZ2Z74VOGAKHS4AF7S6YQ4ZT76COQ437NXXDOHV5ZXSD3W3WEOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2279936615,"name":"Lofty 5333 Ponte Tresa Dr","logo":null,"unit_name":"LFTY0407","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2279936615/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2290771151,"name":"TMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/d275bebf94674e4cbeb5756418e1e487.png","unit_name":"TMI","fraction_decimals":7,"total":"1000000000000000","usd_value":"0.580304392499","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2290771151/","collectible":null,"creator":{"id":3516106904534409700,"address":"B5TRCMP7IDCX76LVT62DESSWYZT73KOKD3KEQTYEMN4WIADPBOZ2ZSLOYA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2290967272,"name":"Lofty 11604 D K Ranch Rd","logo":null,"unit_name":"LFTY0416","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2290967272/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2291324873,"name":"Wealthwave","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/11/1c765917b1ec4abebd532285392bf847.png","unit_name":"Wave","fraction_decimals":7,"total":"1000000000000000","usd_value":"0.000403304007","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2291324873/","collectible":null,"creator":{"id":3612678392885250000,"address":"E2EDCIS2COSRINPU7ZQYHEOS6ABUJL7HV2C5UAFYHAUVCNP66OH3KTUCEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2297036005,"name":"Fuck The Tech","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/24/68f5f310064043168cb392b93004b630.png","unit_name":"FTT","fraction_decimals":5,"total":"6942000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2297036005/","collectible":{"title":"Fuck The Tech","standard":"arc69","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2024/09/14/1a331895071f47e2ad5c57e9ae655718.jpeg","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/2297036005/","collection":null},"creator":{"id":3620391593933112000,"address":"4SI6JOJTJL7AXVOBZ5GHMF4RH2RWNTRWS47RLAQCXZVT2Z2GU6DLNWNJX4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":2301975955,"name":"Lofty 5424 49th St","logo":null,"unit_name":"LFTY0414","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2301975955/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2315210710,"name":"BULGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/23/6d54a8446f694c81870403fd61985960.png","unit_name":"BULL","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2315210710/","collectible":null,"creator":{"id":3618226406623345700,"address":"FFQCZSLPXSOMKMIID53PEOBBJZFHWS2IQEDE3HWUNSKWEHOSUJEGYE27PA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2318243396,"name":"Lofty 1415 Race St","logo":null,"unit_name":"LFTY0428","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2318243396/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2318248555,"name":"Lofty 997 Canyon Rd","logo":null,"unit_name":"LFTY0422","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2318248555/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2320775407,"name":"Aramid VOI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/28/384c7a7581e048739fe4679affad8d53.png","unit_name":"aVoi","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.001053461340","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2320775407/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2320804780,"name":"Aramid ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/11/f80928a7ae3d4443ae20255e70ee6081.png","unit_name":"aAlgo","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.166420498330","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2320804780/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2327984798,"name":"Bwom","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/04/e177f34eff9641f493b1760db840d180.png","unit_name":"BWOM","fraction_decimals":6,"total":"3000000000","usd_value":"1.913209606986","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2327984798/","collectible":null,"creator":{"id":3620746471471059000,"address":"FIYXOP47SL4CFPONBGJIBYWLNURLGDUMAVJCDSJXWWP7PZE6MK2IWB5RNQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2330578178,"name":"Reity-00065","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/3a807f640bff49ebbfa76fd8eec3d2b6.png","unit_name":"RTY-0065","fraction_decimals":0,"total":"914","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2330578178/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2333091821,"name":"Lofty 752 Gelaso St SW","logo":null,"unit_name":"LFTY0437","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2333091821/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2335487596,"name":"OasicChiroCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/06/87e142c7a83e4949a931ed62a6325871.png","unit_name":"OCC","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2335487596/","collectible":{"title":"OasicChiroCoin","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/2335487596/","collection":null},"creator":{"id":3613308024083490000,"address":"H6TDBALU35MRCOHAGOOQLS2A6G77RHXNLBBOF2FLN5UOBWADDHFBSF4DUY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":2342621554,"name":"Infinite Potential Token ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/11/0a0e828f72c146af9351aa8d9cada198.png","unit_name":"IPT","fraction_decimals":7,"total":"100000000000000","usd_value":"0.003763004109","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2342621554/","collectible":null,"creator":{"id":3623548934961995300,"address":"IPT5B4225D2JLPS4PBZI7G5LXNPZVM4HM2HYHULRZWH5R6G6FAHVIEXMAU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2349361152,"name":"Lofty 25 Rocky Ridge Rd","logo":null,"unit_name":"LFTY0409","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2349361152/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2355825811,"name":"Reity-00066","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/f9d32c8ca9db45cd83426e238050a67f.png","unit_name":"RTY-0066","fraction_decimals":0,"total":"7590","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2355825811/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2364434013,"name":"WARTHOG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/18/410c306f8fc8417c9fa1a899cf97d5a9.png","unit_name":"WAGGY","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2364434013/","collectible":null,"creator":{"id":3625778617260497400,"address":"57G2GKU4N43S6UQ25OM5FO6XIQ7QHX45ACZXOK2KWIIN6IN6MALIZ4QIEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2369581852,"name":"Lofty 61622 El Reposo St","logo":null,"unit_name":"LFTY0440","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2369581852/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2382703723,"name":"Vertex","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/21/919ed24c39054b6f9c6c81ab110f2914.png","unit_name":"XVX","fraction_decimals":10,"total":"50000000000000","usd_value":"2.436584895967","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2382703723/","collectible":null,"creator":{"id":3626725601723170000,"address":"XVXAMAUZSUNRC3GL7PD7LJRLJX2RGEPUIIARFMXEOJLP44KM66ZCWIKFMQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2389089933,"name":"compoundr","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/30/d391485c30664c9b85c4ef7455449444.png","unit_name":"CMPD","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2389089933/","collectible":null,"creator":{"id":3623647680990819300,"address":"CMPDPCYEH67CLZSVLYL7QWHFIPRJC5UR5U5JLRI2R5N5IC7M7QY2QZOCYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2390875774,"name":"Lofty 6251 Cahuilla Ave","logo":null,"unit_name":"LFTY0436","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2390875774/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2399091932,"name":"ARG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/25/cf706cbdf61e4a7bb77ef4e92c1c52a3.png","unit_name":"ARG","fraction_decimals":0,"total":"26000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2399091932/","collectible":null,"creator":{"id":3494427169867551000,"address":"XTZNP63VHIX6LJTQ7A55MDF6UARGBMRPJUPGNCFPP3GO6GDBOCFCPCZ7IU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2400334372,"name":"cAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/25/e234be416f74458f86f842744e2ddc05.png","unit_name":"cAlgo","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.160080593372","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2400334372/","collectible":null,"creator":{"id":3591525860785715700,"address":"UVNDN2Y6YR25JX4G6W5SIGFSPDZSEAM5RODOB74YQ6YEVJVNGHGZUT454M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2413037774,"name":"REA Rewards","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/02/1d2cf5d8ac4341d18800461a9682794e.png","unit_name":"REAR","fraction_decimals":8,"total":"1000000000000000","usd_value":"0.002660544567","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2413037774/","collectible":null,"creator":{"id":3618866181619478000,"address":"2CKXF7FHBOZVJA4N5UF4OYOGLDTI3IBP7XLDPSKHF2QMYPZOGKKMR7A2U4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2416863295,"name":"Lofty 605 Squires Row","logo":null,"unit_name":"LFTY0441","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2416863295/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2450411553,"name":"Vivit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/05/5c389719180747dfa0d6c89597f62705.png","unit_name":"VIVIT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000222257898","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2450411553/","collectible":null,"creator":{"id":3629702496348236000,"address":"WLFGEFTAPQYPGW5NFX3462BBREEC3RGTIBJRY4FTVT3JC7EOT7Z62KWEUE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2450920184,"name":"Lofty 5 Warwick Pl","logo":null,"unit_name":"LFTY0434","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2450920184/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2456033705,"name":"FanBet","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/04/700250bbb2d346c59629d2155574e4ee.png","unit_name":"FBET","fraction_decimals":4,"total":"1100000000000","usd_value":"0.000074174800","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2456033705/","collectible":null,"creator":{"id":3592707757127942700,"address":"TIA2KQAOK6AZTROWSUBECAD2AJIYBZLOH27745T5D4SA6SMAJETQF3KJTI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2460407890,"name":"VirtualMoonMatrix","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/12/466c2cf7bec140d5a0a8b3eb5ab0006c.png","unit_name":"VMM","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2460407890/","collectible":null,"creator":{"id":3613308024083490000,"address":"H6TDBALU35MRCOHAGOOQLS2A6G77RHXNLBBOF2FLN5UOBWADDHFBSF4DUY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2462353373,"name":"Reity-00067","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/fabb12cdb1494d18a5da1cd388c4285b.png","unit_name":"RTY-0067","fraction_decimals":0,"total":"914","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2462353373/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2466866698,"name":"Marcus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/11/b117cc0f1cb24b859d83c82f1b75a7de.png","unit_name":"MARCUS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000077313447","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2466866698/","collectible":null,"creator":{"id":3626902260179628500,"address":"MARCUSHJ7XFPZZUQRDY4OKE3DV37D5YCJUL46OZO2QRZGKF3ELMXICIWWE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2475903985,"name":"DREME","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/d6f5ca022b134a298afb43906e3b86ca.png","unit_name":"DREME","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2475903985/","collectible":null,"creator":{"id":3616806061484350500,"address":"IKJIDPNQUXZ2LZO5DJRYBPLBKHETIWUB3HQBEKKCVR3OQH5AAVNSY4UFLI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485198745,"name":"Fry VPN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/15/8c462337e4ba48b6bdd0783f62cd3d1c.png","unit_name":"fVPN","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485198745/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485202024,"name":"Fry Node","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/15/02752e6e7e084f2cabf2a20346ec47c8.png","unit_name":"fNODE","fraction_decimals":6,"total":"2000000000000000","usd_value":"0.003899145902","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485202024/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485314946,"name":"Fry","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/13/52332bc56f244f59978fc93c39087713.png","unit_name":"FRY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.280680066786","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485314946/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2516625598,"name":"Wrapped liquid staked Ether 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/20/8325641ef47d431fb92eab80564e3cf7.png","unit_name":"wstETH","fraction_decimals":6,"total":"6000000000000","usd_value":"1762.458258412535","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2516625598/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2516674924,"name":"Mog Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/20/6ff6a049340d4e7a98cf12cd5a6f5e27.png","unit_name":"Mog","fraction_decimals":3,"total":"420690000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2516674924/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2518429100,"name":"Lofty 326-332 S Alcott St","logo":null,"unit_name":"LFTY0316","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2518429100/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2518721081,"name":"xMcRib","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/19/475259a3026e427287a777e726bc5b0a.png","unit_name":"xMcRib","fraction_decimals":6,"total":"5390000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2518721081/","collectible":null,"creator":{"id":3620751838882054000,"address":"WKFFDMYHSUXO4XYOMHH7WXQ77YNLWYRO63K3PLSITWBL4HIOMNG4JHL2HQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2537013734,"name":"tALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/af91b609d1364a66a83b9fc22db9e094.png","unit_name":"TALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.163945509243","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2537013734/","collectible":null,"creator":{"id":3633404117341380000,"address":"EP2YRTCL3SAA7HYG7KKWUC6ZH36SLYIKOX4FORKXZLUUQASP5JDJP4UU5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2537023208,"name":"Staked tALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/0fc08ab223db4fff9111605a8c2ac01c.png","unit_name":"STALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.163945509243","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2537023208/","collectible":null,"creator":{"id":3633404594147372500,"address":"7CUF7J3QIVSOG4537G6YT66EOIJO2M2WSPUVEAJSC4NE3CTKDO4OBCDOJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2541028868,"name":"Lofty 2208 Murray Ave","logo":null,"unit_name":"LFTY0424","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2541028868/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2551460554,"name":"Bad Santa","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/30/b0d8524a89da4f2fac3d501663b0830c.png","unit_name":"BadSanta","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2551460554/","collectible":null,"creator":{"id":3634214376704401400,"address":"63NAXOFCAVVN3HONGRMTOWR32LSXM2JHFZL2BBHIUN3XXPHH6JYFLNOGFU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2553676406,"name":"TroySolidus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/30/9cdff03407c046ab802d6923b6ce0638.png","unit_name":"TROYSOL","fraction_decimals":4,"total":"10000000000","usd_value":"0.105177562291","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2553676406/","collectible":null,"creator":{"id":3633836777401055700,"address":"IHG5DC2S654HJLWM5CWBFDQFWVJMV76X52EVCSNSXMADDYX7JGKJ2Z4SOI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2561491694,"name":"Criptomedia","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/09/0150c5ddfe51493a9e2c36b0e22690fa.png","unit_name":"CMD","fraction_decimals":4,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2561491694/","collectible":null,"creator":{"id":3378111761846203000,"address":"L27HDHRJRLRGAURFFC4LU5EIKMHRGKWIJWB7IECJS2YNL7FH5SFWJXXNFE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2563045662,"name":"Wojak Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/04/d0d238b98c2742e3b46cd830a36c83d0.png","unit_name":"WOJAK","fraction_decimals":2,"total":"6942000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563045662/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2563959048,"name":"PBS_Inc.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/07/9dcac44e46ea4558af632ea433079768.png","unit_name":"PBS","fraction_decimals":7,"total":"8888888880000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563959048/","collectible":null,"creator":{"id":3634493102353219600,"address":"L2FLF3OUKJTYP7QZNNEV3QDRSVB4LBEFUXWDED4GDM6ATIESSWKMCQPYRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2564742787,"name":"Lofty 5604 Brownfield Dr","logo":null,"unit_name":"LFTY0444","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2564742787/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2565836556,"name":"Lofty 86 Madison Ave","logo":null,"unit_name":"LFTY0439","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2565836556/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2572874483,"name":"Zappies Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/f2722746726b450d855c2560338bf8d1.png","unit_name":"Zapp","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2572874483/","collectible":null,"creator":{"id":3635306775621175000,"address":"TRTCVCQI5ZNRUBPUEO6A72TVCTFEPYF535GV6O57J7P7BWXU2QWJEGTHQM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2573477873,"name":"Waka-Hare","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/17/4db11e903a14418093de5b540670644c.png","unit_name":"WKH","fraction_decimals":7,"total":"100000000000000","usd_value":"0.000161764705","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2573477873/","collectible":null,"creator":{"id":3634599432363302400,"address":"G7FSBF26XJ5H6DLGVVLR66HZ3NSWJRC5EUUSIHJDJHUHKFKWNHM62QPH24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2583022095,"name":"KOSH TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/11/63438fc1ccd74ba998e5c5cbb93089c9.png","unit_name":"KOSH","fraction_decimals":3,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2583022095/","collectible":null,"creator":{"id":3634571448301844000,"address":"KOSH3N7XUOMGW7QIEK7HYZURX3D2YWILG2OXBGQUHIGIY3I4MIY5DXZHDE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2585708613,"name":"gCYCLE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/fbaea8ae35094743a10f9ff006f87c9a.png","unit_name":"gCYCLE","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2585708613/","collectible":null,"creator":{"id":3564471806914266000,"address":"RV3WOT7762CZUJCH6XPGQQYO2YYUDSY6XEROBLS52JN2KEH4ZXMVL73NSQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2588968193,"name":"Reity-00068","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/11/b7b0d97a69ea445783095e8765a9ba43.png","unit_name":"RTY-0068","fraction_decimals":0,"total":"3848","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2588968193/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2589142195,"name":"Lofty 1935 S Glen Rd","logo":null,"unit_name":"LFTY0433","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2589142195/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2591862562,"name":"UNIT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/a2431a1dd8ca4ebaaa0a55ba041c54dd.png","unit_name":"UNIT","fraction_decimals":8,"total":"18446744073700000000","usd_value":"0.236321602876","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2591862562/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2592130521,"name":"Dime","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/86af33f6430b455689c6ead737e57dc2.png","unit_name":"DIME","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2592130521/","collectible":null,"creator":{"id":3517179567477980700,"address":"7IFQKOKQQRVQGRDAPU7OXOOKRN3KZ5JQLIA3NVVWKXTNEN7P4EEI5CKT2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2606098683,"name":"GREAT TOKEN ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/beeea440861140a6add75ad773d1a973.png","unit_name":"$GT","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2606098683/","collectible":null,"creator":{"id":3636979372269347300,"address":"UYFY64MTUKY56HTERIJZGVZXJXXOALQ64WIQSDI5H22AXKHLPCJ6AFJYM4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611138444,"name":"Folks V2 xALGO","logo":null,"unit_name":"fxALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611138444/","collectible":null,"creator":{"id":3637410201171543600,"address":"YO4ZOK3AEX4YDMOBIYLQUYHO75YPCIOD24PR6KIAVHUW5TZ4OCPSXV6BQE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611201415,"name":"Lofty 8 Acres in Wawarsing","logo":null,"unit_name":"LFTY0429","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611201415/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611223991,"name":"Lofty 8848 N 95th St #K","logo":null,"unit_name":"LFTY0442","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611223991/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2625905138,"name":"CATS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/23e6194dada242e79acb3d54cfbde133.png","unit_name":"CATS","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2625905138/","collectible":null,"creator":{"id":3638135420474959400,"address":"HJYYQWRWVO6PVINGLHDABVCU4Y2VJEF4XZYDL7LRMQPD3YNKHS7N6L3FPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2625922527,"name":"Ghostgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/ae3be721a62a42288bdf87f460afaa3e.png","unit_name":"Ghostgo","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2625922527/","collectible":null,"creator":{"id":3636774009791014400,"address":"UCSHEX7NEEF72MQYPKBOSGMSDJYBN7J6X4JHOFDKO7FS7HYZSM5MBSAFUU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644450935,"name":"AGENTALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/876f9bf4daf14505a7c1f0e12893b194.png","unit_name":"AGENT","fraction_decimals":5,"total":"21000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644450935/","collectible":null,"creator":{"id":3639509786641035000,"address":"SPLXISJ3GEW2MC6YN3LLSFV6LFD23FV5ZZY7W4WLHZNG35EYSPBXBB7JI4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644464753,"name":"JOHNNY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/9aa7f2ca95124700831a6286a014a817.png","unit_name":"JOHNNY","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644464753/","collectible":null,"creator":{"id":3639507813279346000,"address":"KTGWFCU7QG6QEYIEN7MZE5V3M7T2VZIGBD6IMDAX4P2SSSCE5FJSFBZNBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644742542,"name":"FuckTerabro 🤖🔨","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/6f2e9825e39b40e9858ee9b6a891ab47.png","unit_name":"FUCKAI","fraction_decimals":8,"total":"2100000000000","usd_value":"0.034085217056","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644742542/","collectible":null,"creator":{"id":3378111761846203000,"address":"L27HDHRJRLRGAURFFC4LU5EIKMHRGKWIJWB7IECJS2YNL7FH5SFWJXXNFE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2646395255,"name":"Hug","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/d8976b4e608f4f0b851ac17baa9e7bd4.png","unit_name":"HUG","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2646395255/","collectible":null,"creator":{"id":3639643774186092000,"address":"Z7SLOJTIFHSQS4IMA5Y67AL4IFLEQQLJM3PNSOJSC3WJF4SRN6H3BX4BII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2663780228,"name":"Drop Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/49d6140f50b34386a243142901c2fe7f.png","unit_name":"DROP","fraction_decimals":8,"total":"10000000000000000000","usd_value":"0.000000023776","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663780228/","collectible":null,"creator":{"id":3640904245209186000,"address":"73PUSOEICSP5EAZ2SK3UT5QAUB4XP6VN2NJICHKJ4MVIIYBHXIUUCOE56I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2669995238,"name":"Lofty 2221 E Chase St","logo":null,"unit_name":"LFTY0432","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2669995238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2670676592,"name":"TRMNL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/6cfd76d2c6234d868317fb01a814944d.png","unit_name":"TRMNL","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670676592/","collectible":null,"creator":{"id":3641306608696157700,"address":"3VUXIUBXT5HRDNIL5DGUD4FECUNEMGJ6LFQCY2PZMBLPEHZ6LXDTUZ27BM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2670682762,"name":"AgentX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/86ee05b231484767981e109cd15d4e85.png","unit_name":"AGX","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670682762/","collectible":null,"creator":{"id":3641306454177753600,"address":"2CAV5BGCX3RTSMRURAZHANX7OEDIFZFLM676A6VJ2O4AIV34VDJMPIHBOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2678128523,"name":"Reity-00069","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/3178dac528f04380a5a803d35e65bb26.png","unit_name":"RTY-0069","fraction_decimals":0,"total":"3859","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2678128523/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681521901,"name":"Test Fry","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/6862bd688db7490f81294f71149db23c.png","unit_name":"tFRY","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681521901/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681522390,"name":"Fry Weather","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/880511e6d12542eb840165f8460b20f2.png","unit_name":"fWX","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681522390/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681524108,"name":"Fry Air","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/6e14587d6bd34397adb4d7372c255673.png","unit_name":"fAIR","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681524108/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681527686,"name":"Fry Camera","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/d778918d203f4736b00514bd63c13c36.png","unit_name":"fCAM","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681527686/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681528493,"name":"Fry Water","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/20f7f5b6e9c24f4b986864e65b6d0d26.png","unit_name":"fH2O","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681528493/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681529600,"name":"Fry Sound","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/312629bcd36f437599fd77858c8894c9.png","unit_name":"fDB","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681529600/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681532257,"name":"Fry Satellite","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/8ad1e3a9c9704244864a5a5d789b2f9c.png","unit_name":"fGNSS","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681532257/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681534311,"name":"Fry Radiation","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/972bc3adcaff48a5abf7c3dd381cd64e.png","unit_name":"fRAD","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681534311/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681539504,"name":"Fry Energy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/18/650d7e68ff5444a3bae0126b8da53693.png","unit_name":"fKWH","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681539504/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2687499040,"name":"HOOP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/09/b96cb4891a854d8bb33c57630da2d1ad.png","unit_name":"HOOP","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000045111417","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2687499040/","collectible":null,"creator":{"id":3637726151207293400,"address":"HOOP2PQ7YILSUB6DYLO65RABEEUUOFOJEY6VEUQJGUOD3JGEFF74CTPVLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2688844808,"name":"Lofty 1048 Hilton Rd","logo":null,"unit_name":"LFTY0419","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688844808/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2688848184,"name":"Lofty 222 57th St","logo":null,"unit_name":"LFTY0443","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688848184/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2691431035,"name":"VONK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/ffc50979653d431d95086c06ddc55474.png","unit_name":"Vonk","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2691431035/","collectible":null,"creator":{"id":3642663808735206400,"address":"5LULV3VVFN44THLFNMBHIMP2YBX3RK37PKXTYNUNL6QQCVNKRNTSOR3OPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2693368261,"name":"Bead","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/20/0db73a1b08384532b32c0138310b71dd.png","unit_name":"BEAD","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2693368261/","collectible":null,"creator":{"id":3642793521604071000,"address":"KBHR52YNV5XDVBOOKQ4OI6Q7PXBQWSDQDTOYBEADP4HFHWY2GYA2IWJDYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2700230095,"name":"Mr. Burns","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/21/33cc3c602b994759adf8cce28a416b66.png","unit_name":"BURNS","fraction_decimals":8,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2700230095/","collectible":null,"creator":{"id":3331964331443790300,"address":"DJAMAANIUZGWSSUJTPDOQ5G3HVYGEEKUU4RWXCAV4GZRKMX3FLQ75WG4WQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2709191298,"name":"Lofty 9901 E Evans Ave Unit 4C","logo":null,"unit_name":"LFTY0441","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2709191298/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2726252423,"name":"Alpha Arcade","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/02/04/27439fb5280241e2bb8bea34e05fcb81.png","unit_name":"ALPHA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.003904443873","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2726252423/","collectible":null,"creator":{"id":3644823910388541000,"address":"ARCADEBETGK6UX3OQEKAFQ5RYIQEOKFTAIYEDL5GLMAEHKCOB6CLSW36LA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2746700324,"name":"Lofty 39 Fleetwood Dr","logo":null,"unit_name":"LFTY0457","fraction_decimals":0,"total":"1000000000","usd_value":"50.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2746700324/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2747650621,"name":"DeepSeekInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/05/25f603b7f01b4d9aa3ab4fd81911a196.png","unit_name":"DEEPS","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747650621/","collectible":null,"creator":{"id":3646214270976658400,"address":"NE72XDX3PQIMJQXG777OILD5F4SBAZEO3233WNN5VWU6I3H7U6F4COEEEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2747708162,"name":"ERROR","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/05/033cea37e4b2485b826951835a4b660d.png","unit_name":"ERROR","fraction_decimals":5,"total":"40440440400000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747708162/","collectible":null,"creator":{"id":3646188970825025500,"address":"EGL6QIOVACS2WJTFG4EH4LB3POUEQVJ5M23MVIPG2CU4A7GEQALQBG7KIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2756485998,"name":"Dogalgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/08/52a7c4bfbad14f6d82e4356c9519e7be.png","unit_name":"DOG","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2756485998/","collectible":null,"creator":{"id":3646992525769605000,"address":"FL65SUN5W4A6AST5VMQM5S3HY3VQ4SVMUM57JMW24AXOGFARF2PPMKQNRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2759957392,"name":"PEGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/10/1867463c4ace42ba9e09c47f122e75f6.png","unit_name":"PEGO","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2759957392/","collectible":null,"creator":{"id":3647270663729664500,"address":"VQB4WH6DOP3OOQVPRZF3MPF6HK4ZNYXRTBWGGLWTE2AW5H7ZOBISDWCIME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2764304144,"name":"3878 Windermere Rd Lending 2","logo":null,"unit_name":"LFTY0458","fraction_decimals":0,"total":"1000000000","usd_value":"19.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2764304144/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768422954,"name":"Quantoz EURQ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/16/eab7fc611c6049ae97a077c75bcb0ffc.png","unit_name":"EURQ","fraction_decimals":6,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768422954/","collectible":null,"creator":{"id":3647910455140443000,"address":"UALFRIYMF7HTTWPGJCBEKJ2AIROCAQR57SO7ZK7LW2SFXQF6346PSDDU2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768603795,"name":"Quantoz USDQ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/16/d8b943f8c0ee4b94899086be93f21b92.png","unit_name":"USDQ","fraction_decimals":6,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768603795/","collectible":null,"creator":{"id":3647910455140443000,"address":"UALFRIYMF7HTTWPGJCBEKJ2AIROCAQR57SO7ZK7LW2SFXQF6346PSDDU2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768706941,"name":"Lofty 11400 Linnet Ave","logo":null,"unit_name":"LFTY0040","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768706941/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2781388570,"name":"Lofty 22164 Umland Cir","logo":null,"unit_name":"LFTY0454","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2781388570/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2787063294,"name":"Reity-00070","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/21/3cb511420ff0435bbc3686ad36606706.png","unit_name":"RTY-0070","fraction_decimals":0,"total":"3870","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2787063294/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2802062634,"name":"gagn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/c366793d6c734d2bbbbf360aa741f75d.png","unit_name":"GAGN","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2802062634/","collectible":null,"creator":{"id":3650511051905784000,"address":"V4PNRHVTJQHNBGIE4ZYUGMTKS5X5HFCNFM57UDXQYOXARGTLFTTEDTDEZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2813077109,"name":"Lofty 4506 S Fallwood Ct","logo":null,"unit_name":"LFTY0462","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2813077109/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831387238,"name":"Lofty 12808 Gruss Ave","logo":null,"unit_name":"LFTY0078","fraction_decimals":0,"total":"1000000000","usd_value":"52.880000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831387238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831454992,"name":"Lofty 1248 S Keeler Ave","logo":null,"unit_name":"LFTY0135","fraction_decimals":0,"total":"1000000000","usd_value":"46.480000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831454992/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831543293,"name":"Lofty 1584 Hampton Rd","logo":null,"unit_name":"LFTY0145","fraction_decimals":0,"total":"1000000000","usd_value":"53.550000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831543293/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831548938,"name":"Lofty 9710 S Avenue L Ave","logo":null,"unit_name":"LFTY0162","fraction_decimals":0,"total":"1000000000","usd_value":"49.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831548938/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831842396,"name":"Lofty 230 Seacrest Ln","logo":null,"unit_name":"LFTY0464","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831842396/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831851250,"name":"Lofty 85-104 Alawa Pl","logo":null,"unit_name":"LFTY0452","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831851250/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831889270,"name":"Lofty 254 Bowmanville St","logo":null,"unit_name":"LFTY0134","fraction_decimals":0,"total":"1000000000","usd_value":"52.310000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831889270/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834554341,"name":"Lofty 4661 Berta Rd","logo":null,"unit_name":"LFTY0002","fraction_decimals":0,"total":"1000000000","usd_value":"67.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834554341/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834558381,"name":"Lofty 3514 W 123rd St","logo":null,"unit_name":"LFTY0008","fraction_decimals":0,"total":"1000000000","usd_value":"58.710000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834558381/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834566044,"name":"Lofty 4312 E 162nd St","logo":null,"unit_name":"LFTY0010","fraction_decimals":0,"total":"1000000000","usd_value":"59.070000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834566044/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834589644,"name":"Lofty 9634 S Green St","logo":null,"unit_name":"LFTY0011","fraction_decimals":0,"total":"1000000000","usd_value":"58.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834589644/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834595769,"name":"Lofty 4245 E 177th Pl","logo":null,"unit_name":"LFTY0014","fraction_decimals":0,"total":"1000000000","usd_value":"57.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834595769/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616057,"name":"Lofty 3038 Sinclair St","logo":null,"unit_name":"LFTY0034","fraction_decimals":0,"total":"1000000000","usd_value":"64.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616057/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616058,"name":"Lofty 445 Lipford St","logo":null,"unit_name":"LFTY0043","fraction_decimals":0,"total":"1000000000","usd_value":"50.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616058/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616059,"name":"Lofty 3133 Estes St","logo":null,"unit_name":"LFTY0023","fraction_decimals":0,"total":"1000000000","usd_value":"54.790000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616059/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616060,"name":"Lofty 2724 Chatsworth St","logo":null,"unit_name":"LFTY0038","fraction_decimals":0,"total":"1000000000","usd_value":"49.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616060/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616061,"name":"Lofty 333 Illinois Ave","logo":null,"unit_name":"LFTY0018","fraction_decimals":0,"total":"1000000000","usd_value":"65.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616061/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616062,"name":"Lofty 1456 W 85th St","logo":null,"unit_name":"LFTY0072","fraction_decimals":0,"total":"1000000000","usd_value":"47.750000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616062/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616063,"name":"Lofty 4131 Wright Ave","logo":null,"unit_name":"LFTY0020","fraction_decimals":0,"total":"1000000000","usd_value":"59.160000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616063/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616064,"name":"Lofty 5630 Morgan Ford Rd","logo":null,"unit_name":"LFTY0056","fraction_decimals":0,"total":"1000000000","usd_value":"51.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616065,"name":"Lofty 3976 Stillwood Dr","logo":null,"unit_name":"LFTY0028","fraction_decimals":0,"total":"1000000000","usd_value":"57.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616065/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616066,"name":"Lofty 5003 Deneen Dr","logo":null,"unit_name":"LFTY0017","fraction_decimals":0,"total":"1000000000","usd_value":"59.860000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616066/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673459,"name":"Lofty 9583 Pagewood Ave","logo":null,"unit_name":"LFTY0061","fraction_decimals":0,"total":"1000000000","usd_value":"55.330000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673459/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673460,"name":"Lofty 2094 W 34th Place","logo":null,"unit_name":"LFTY0082","fraction_decimals":0,"total":"1000000000","usd_value":"47.750000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673460/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673461,"name":"Lofty 3024 W 103rd St","logo":null,"unit_name":"LFTY0073","fraction_decimals":0,"total":"1000000000","usd_value":"58.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101609,"name":"Lofty 656 E 126th St","logo":null,"unit_name":"LFTY0120","fraction_decimals":0,"total":"1000000000","usd_value":"46.970000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101609/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101611,"name":"Lofty 25 Circle Dr","logo":null,"unit_name":"LFTY0065","fraction_decimals":0,"total":"1000000000","usd_value":"51.940000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101611/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101612,"name":"Lofty 1090 Diagonal Rd","logo":null,"unit_name":"LFTY0114","fraction_decimals":0,"total":"1000000000","usd_value":"56.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101612/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101613,"name":"Lofty 665 Chapman St","logo":null,"unit_name":"LFTY0086","fraction_decimals":0,"total":"1000000000","usd_value":"60.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101613/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101614,"name":"Lofty 20413 Kingsville St","logo":null,"unit_name":"LFTY0050","fraction_decimals":0,"total":"1000000000","usd_value":"59.730000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101614/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101615,"name":"Lofty 15711 Grovewood Ave","logo":null,"unit_name":"LFTY0117","fraction_decimals":0,"total":"1000000000","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101615/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101616,"name":"Lofty 7542 & 7656 S Colfax Ave","logo":null,"unit_name":"LFTY0096","fraction_decimals":0,"total":"1000000000","usd_value":"48.910000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101616/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101617,"name":"Lofty 3850 W 17th St","logo":null,"unit_name":"LFTY0111","fraction_decimals":0,"total":"1000000000","usd_value":"46.910000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101617/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101618,"name":"Lofty 3178 W 41st & 9510 Silk","logo":null,"unit_name":"LFTY0108","fraction_decimals":0,"total":"1000000000","usd_value":"47.700000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101618/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101619,"name":"Lofty 7411 Elton Ave","logo":null,"unit_name":"LFTY0115","fraction_decimals":0,"total":"1000000000","usd_value":"50.490000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101619/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131766,"name":"Lofty 799 Stadelman Ave","logo":null,"unit_name":"LFTY0136","fraction_decimals":0,"total":"1000000000","usd_value":"52.680000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131766/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131767,"name":"Lofty 8201 Madison Ave","logo":null,"unit_name":"LFTY0122","fraction_decimals":0,"total":"1000000000","usd_value":"46.890000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131767/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131768,"name":"Lofty 1773 Ball Rd","logo":null,"unit_name":"LFTY0124","fraction_decimals":0,"total":"1000000000","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131768/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131769,"name":"Lofty 1015 Wycomb Dr","logo":null,"unit_name":"LFTY0129","fraction_decimals":0,"total":"1000000000","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131769/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131770,"name":"Lofty 432 W Peebles Rd","logo":null,"unit_name":"LFTY0133","fraction_decimals":0,"total":"1000000000","usd_value":"49.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131770/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131772,"name":"Lofty Ohio 3 Property Package","logo":null,"unit_name":"LFTY0123","fraction_decimals":0,"total":"1000000000","usd_value":"46.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131772/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131773,"name":"Lofty 9902 Garfield Ave","logo":null,"unit_name":"LFTY0128","fraction_decimals":0,"total":"1000000000","usd_value":"52.300000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131773/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131774,"name":"Lofty 10724 Gooding Avenue","logo":null,"unit_name":"LFTY0131","fraction_decimals":0,"total":"1000000000","usd_value":"43.020000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131774/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131775,"name":"Lofty 12507 Astor Ave","logo":null,"unit_name":"LFTY0132","fraction_decimals":0,"total":"1000000000","usd_value":"51.760000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131775/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131776,"name":"Lofty 4551 Sunny View Dr","logo":null,"unit_name":"LFTY0143","fraction_decimals":0,"total":"1000000000","usd_value":"52.300000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131776/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162400,"name":"Lofty 142 13th St","logo":null,"unit_name":"LFTY0161","fraction_decimals":0,"total":"1000000000","usd_value":"50.830000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162400/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162401,"name":"Lofty 566 Nash St","logo":null,"unit_name":"LFTY0157","fraction_decimals":0,"total":"1000000000","usd_value":"53.570000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162401/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162402,"name":"Lofty 323 E 9th St","logo":null,"unit_name":"LFTY0220","fraction_decimals":0,"total":"1000000000","usd_value":"46.660000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162402/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162403,"name":"Lofty 127 Hausman St","logo":null,"unit_name":"LFTY0322","fraction_decimals":0,"total":"1000000000","usd_value":"48.290000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162403/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162404,"name":"Lofty 542 Sumner St","logo":null,"unit_name":"LFTY0159","fraction_decimals":0,"total":"1000000000","usd_value":"54.330000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162404/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162405,"name":"Lofty 4183 E 146th St","logo":null,"unit_name":"LFTY0148","fraction_decimals":0,"total":"1000000000","usd_value":"50.520000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162405/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162406,"name":"Lofty 13806 Coit Rd","logo":null,"unit_name":"LFTY0160","fraction_decimals":0,"total":"1000000000","usd_value":"52.920000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162406/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162407,"name":"Lofty 26931 Shoreview Ave","logo":null,"unit_name":"LFTY0156","fraction_decimals":0,"total":"1000000000","usd_value":"46.930000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162407/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162409,"name":"Lofty 783 Leonard St","logo":null,"unit_name":"LFTY0202","fraction_decimals":0,"total":"1000000000","usd_value":"51.840000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162409/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162415,"name":"Lofty 296 Huntington Ave","logo":null,"unit_name":"LFTY0158","fraction_decimals":0,"total":"1000000000","usd_value":"53.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162415/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835184251,"name":"Lofty 1209 Cove Ln","logo":null,"unit_name":"LFTY0333","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835184251/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835184252,"name":"Lofty 8646 Ford Ave","logo":null,"unit_name":"LFTY0330","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835184252/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2848033773,"name":"Lofty 745-747 Lenox Ave","logo":null,"unit_name":"LFTY0455","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2848033773/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2867097489,"name":"Lofty 2301 Private Rd 7320","logo":null,"unit_name":"LFTY0421","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2867097489/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2883823670,"name":"Lofty 2305 N 156th Pl","logo":null,"unit_name":"LFTY0459","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2883823670/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null}] \ No newline at end of file +[{"asset_id":2155418402,"name":"rug.ninja","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/b81d2dc10f6a44dc9494eb38203a474d.png","unit_name":"RUGNINJA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000012898","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155418402/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155688884,"name":"BASED","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/16/94eb4ff35b704f99b5855139007feb83.png","unit_name":"BASED","fraction_decimals":6,"total":"69420000000000000","usd_value":"0.000000305248","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155688884/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155690250,"name":"John Woods","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/14/422953bb37a440d991293688ff889503.png","unit_name":"$JAWS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000022147","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155690250/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2155822658,"name":"Pheasant Pluckers","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/17/9be3e5958bd34154a08c16b589f77db6.png","unit_name":"PHEZZIES","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010509","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2155822658/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2160577481,"name":"Fry Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/11/78e2639579994d42a81693041ee5ba2d.png","unit_name":"FINU","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010914","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2160577481/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2171798010,"name":"Shinobi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/30/374ef7cc236b4dedb23988dd33e5a7bf.png","unit_name":"SHINO","fraction_decimals":6,"total":"1000000000000","usd_value":"0.007277549495","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2171798010/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2175930910,"name":"Mustard","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/13/25a294e540da460d87d461647ec09648.png","unit_name":"MUSTARD","fraction_decimals":6,"total":"69420000000","usd_value":"0.111709002614","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2175930910/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2176744157,"name":"Tiny Dick Lions' Den","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/12/e8cd73c835c74f99953614053e011a5b.png","unit_name":"TDLD","fraction_decimals":6,"total":"150000000000000000","usd_value":"0.000000059759","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2176744157/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2211824164,"name":"TINA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/10/e862fcabe7df4f2a8ffcbb3218ec14fc.png","unit_name":"TINA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010922","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2211824164/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2350716919,"name":"( . Y . )","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/6c6f54debbdc4ba7ae8424d2c25d0a43.png","unit_name":"BOOBS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000022024","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2350716919/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2494786278,"name":"monko","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/04/352e3fde277741059ac13d07e5bded34.png","unit_name":"$monko","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000001045517","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2494786278/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2495113411,"name":"PandaChainRocket$ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/23/10e7b11016dc4ca589f97dfe6a41a029.png","unit_name":"PANDA","fraction_decimals":6,"total":"9999999999000000","usd_value":"0.000001122674","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2495113411/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2542737769,"name":"rugYieldly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/19/0b2b56a3c1724ab4b795d39656b0d394.png","unit_name":"rYieldly","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000135765","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2542737769/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2563290460,"name":"GOON","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/20/2b1d210a15cb422ab261cd013268c115.png","unit_name":"GOON","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000002261486","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563290460/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2566065199,"name":"Native","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/04/61741d0473d541fe92a051ba3b8da1d1.png","unit_name":"native","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003832","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2566065199/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2575760826,"name":"69420","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/179b32a259694bc6ab25f46c3230c077.png","unit_name":"69420","fraction_decimals":6,"total":"69420000000","usd_value":"0.022002241314","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2575760826/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2578501438,"name":"Dog BitCorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/c896be4d5ea246f6b2cb4528ae537161.png","unit_name":"$DBTC","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000048135973","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2578501438/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2581357524,"name":"MAD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/b8084fae4fbf4b0b812ded15583c3809.png","unit_name":"MAD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004811","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2581357524/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2581523977,"name":"Retiring","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/08/908da3b2e5b1401290faa3ec16c72659.png","unit_name":"Retire","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001830","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2581523977/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2582294183,"name":"GONNA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/60357d6719bf4de89ee11817409b90f9.png","unit_name":"GONNA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000017028","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2582294183/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2582590415,"name":"Meep","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/09/b828993c892e4300922fc9da0bee0e8d.png","unit_name":"MEEP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000030201","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2582590415/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2586029159,"name":"WILLOW","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/01/0d4dc5565fd947269b99ce974a7517ca.png","unit_name":"$WILLOW","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003175","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2586029159/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2589479271,"name":"Black Labs Matter","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/2f4c53ed957d4a21be232b98b42fa749.png","unit_name":"$BLM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001965","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2589479271/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2592364447,"name":"Mewcali","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/14/267ed3b1e60f4a169d4999a4dac4b411.png","unit_name":"MEW","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002659","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2592364447/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2595619475,"name":"Steak Pool","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/13/d79047ee41e54b6497738d8187575aea.png","unit_name":"STEAK","fraction_decimals":6,"total":"17000000000000","usd_value":"0.004110945087","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2595619475/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2595924635,"name":"ARIANA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/a82db42b8fec457eb8c572e3f5403b3e.png","unit_name":"ARIANA","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000000287523","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2595924635/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2604087587,"name":"OGLA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/15/a1ae0763b9234d3285d5d95e815faa1c.png","unit_name":"OGLA","fraction_decimals":6,"total":"99000000000000","usd_value":"0.000067243182","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2604087587/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2607097066,"name":"SocialTag","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/db863ddeb9bd4c85b2d9d249e5810740.png","unit_name":"socials","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001305","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2607097066/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2607847520,"name":"Berb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/26985cdedb3144ddabd37817c76e3d78.png","unit_name":"BERB","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000003252334","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2607847520/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2608615974,"name":"AlgoFamz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/68636f04fee44e998b84389cb198d3f8.png","unit_name":"Fam","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001411","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2608615974/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2609010228,"name":"Angry Apple","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/0a879f3b1f234e35ab21fceeffee8b6b.png","unit_name":"ANGRY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000006428","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2609010228/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2611139760,"name":"Botsy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/8986e23fc24b40b5a345a6eb46ed4c3f.png","unit_name":"Botsy","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000000734","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611139760/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2611535339,"name":"Busk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/1de84ffc09d64c5ebcbd23ff8283149e.png","unit_name":"BUSK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000006688830","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611535339/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2614577662,"name":"ALGOTARDIO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/18/765af5f1368041d5be1483ae3a59c5ac.png","unit_name":"ATARD","fraction_decimals":6,"total":"100000000000000000","usd_value":"0.000000689988","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2614577662/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2614982724,"name":"AlgoPaca","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/01/f0e906021edf4be49be194ff1f9c92e0.png","unit_name":"ALPA","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000212738","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2614982724/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2619156022,"name":"Brooklyn Bridge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/d6da654201004b2081ce0583c331cc8e.png","unit_name":"Bridges","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002367","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2619156022/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2619875248,"name":"Bummer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/21/e456326e179448d1afb77206040a3d75.png","unit_name":"$BUMR","fraction_decimals":6,"total":"6942069420000000","usd_value":"0.000000502951","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2619875248/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2623501528,"name":"Researchdeeznuts","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/03/20/4f58f1934e374c0588ef116209d98f5e.png","unit_name":"Research","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001880","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2623501528/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2623996187,"name":"T-REX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/48f00994b6d649798f55754dd9b56982.png","unit_name":"REX","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001180127","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2623996187/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2624213934,"name":"Superman","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/91875a5fe4cd47099c715b5b1f60db36.png","unit_name":"$SUPERM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000005247","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2624213934/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2627627272,"name":"Died of Dysentery","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/13/5275505fe9464884b8ab0866ad27206f.png","unit_name":"DOD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000011369","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2627627272/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2627778168,"name":"Dugly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/23/4e006ef941fe444b8a66cc6f603008ef.png","unit_name":"DUGLY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000006250","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2627778168/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2629636312,"name":"iPOO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/11/20523a5c5f75477ca4db198082ab9182.png","unit_name":"iPOO","fraction_decimals":6,"total":"20999999000000","usd_value":"0.000184757190","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2629636312/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2630817821,"name":"NoToSol","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/0f4ad440e2ca455a9c06ce4cf2720e83.png","unit_name":"NTS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010772","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2630817821/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2632454543,"name":"AlgoMeme","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/27/d86b21f15b4e4b269253863baa7641fd.png","unit_name":"MEME","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001956","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2632454543/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2634315632,"name":"paulington","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/25/4841314a23f148ad970317a7c697f35b.png","unit_name":"paul","fraction_decimals":6,"total":"900000000000000","usd_value":"0.000002602540","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2634315632/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2635992378,"name":"iGetAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/2c43b941475745efa7a83d07335a83d1.png","unit_name":"iGA","fraction_decimals":6,"total":"333000000","usd_value":"14.873365707881","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2635992378/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2636001002,"name":"Turtle Bucks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/a2e3f5f481e34662a346539efcf8fa97.png","unit_name":"$TURTLE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000007460","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2636001002/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2636889771,"name":"BasiliskAI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/7d1c6a72179741b2b456307cfe7cf6d8.png","unit_name":"BASILK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000011794","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2636889771/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637100337,"name":"TERABRO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/aa3824ccc99749679746c59467020642.png","unit_name":"BRO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000047553231","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637100337/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637111113,"name":"LILfroggo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/73b5fe7d76a847008fabb2135c2167ef.png","unit_name":"FROGGO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000020270825","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637111113/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2637649940,"name":"Heroes Of Diamond Legacy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/26/bb60e39b6cb648a79f1d3873d0b02373.png","unit_name":"HODL","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000027564","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2637649940/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2638778522,"name":"Moo Lalà","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/d366b1079e1f4fb990559bb7f5b8c629.png","unit_name":"Moo","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001847","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2638778522/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2640936329,"name":"Rich Lucre","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/ec4cc78d42ef4ae3bc8bc6b4ac476fd4.png","unit_name":"RICH","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001688","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2640936329/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2641207341,"name":"CHAMP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/605524e00d6444d399ce65610f097708.png","unit_name":"CHAMP","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2641207341/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2641247605,"name":"MG Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/28/c3ab16f9e9e447859a5fae8619c84e43.png","unit_name":"MG","fraction_decimals":6,"total":"69420000000000000","usd_value":"0.000000020063","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2641247605/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2643186677,"name":"SandmanAI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/6f4016606ce148369a6186a586b5876e.png","unit_name":"SANDMAN","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002389","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2643186677/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2645395515,"name":"Dream","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/26353e438b7a4d9eaa74f444436622ab.PNG","unit_name":"REM","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000008912","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2645395515/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2646549215,"name":"Save The Loot","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/c850a130b4944ac88fc3e6c803d4e687.png","unit_name":"LOOT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001674953","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2646549215/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2650297347,"name":"tHe Notorious penguin.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/5063b9cd714f4cebb60f8ee239a02916.png","unit_name":"$BOSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001825","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2650297347/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2652191787,"name":"AlgoKekius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/14/f3fb9a558cb54abda1b6df1d39d0a0b9.png","unit_name":"AKEKIUS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002043","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2652191787/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2656076517,"name":"AlgoHolics","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/e75fc970fe21473aa88ce9e790083639.png","unit_name":"$BEER","fraction_decimals":6,"total":"1000000000000","usd_value":"0.001395498692","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2656076517/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2656692124,"name":"Ball Sack","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/52ef6cace9f745b7990d81705a71a962.png","unit_name":"BALLSACK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000129224","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2656692124/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658221259,"name":"Willy The Dawg","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/91190fa94c7c47d39806a9f6db981fa0.png","unit_name":"Willy","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001442","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658221259/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658574626,"name":"Wife","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/614e2037f9c64442899f12d859264b18.png","unit_name":"WIFE","fraction_decimals":6,"total":"10000000000","usd_value":"0.129198729921","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658574626/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2658586119,"name":"iCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/113fc43d8a01413ea92b89276e234d50.png","unit_name":"icoin","fraction_decimals":6,"total":"500000000000000000","usd_value":"0.000000002097","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2658586119/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659289184,"name":"Grundle","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/f6a85dacd3ad4c7da639defd9798f5e9.png","unit_name":"GRUNDLE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002543","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659289184/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659740648,"name":"Reggie Da Rodent","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/04fdd84efb864d98901067c9023639c6.png","unit_name":"REGGIE","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000000128005","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659740648/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2659882982,"name":"Super Saiyan Sonic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/f346c37747474610b3f7a4d728581864.png","unit_name":"SSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000008748","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2659882982/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660433606,"name":"PONKO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/04/de6b935ef2e546738c09d85a116f02fe.png","unit_name":"PONKO","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000059301456","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660433606/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660907056,"name":"Mona Lucky","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/0a0482ff7f2f45aeb977fdbdbc57bd2d.png","unit_name":"MONA","fraction_decimals":6,"total":"777777777777000000","usd_value":"0.000000001636","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660907056/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2660971941,"name":"wow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/52a633dac4e140028a11edd6f0e1cf30.png","unit_name":"wow","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001507","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2660971941/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661238483,"name":"Forky","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/a6abe48215884e959f84abf6a8e02e34.png","unit_name":"FORK","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001322","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661238483/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661398514,"name":"myFridaAnirandEmu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/10/80e96309e6ab46b9a6b450bf961deaef.png","unit_name":"NOJEET","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003438","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661398514/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661400370,"name":"Zorb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/909a8dec3fc54a36bd2fa4b3ba2a51a0.PNG","unit_name":"Zorb","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010646","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661400370/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2661757133,"name":"PUSS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/19be223a2bca4931b575746f04dacc9a.png","unit_name":"$PUSS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001633","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2661757133/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2662898741,"name":"ALGO ANONYMOUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/2756dd4c654944cb81412ebb9f165dbc.png","unit_name":"ANON","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001255","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2662898741/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663232587,"name":"Dolan Duck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/20/9cf13bd2dcd14f7383c525f3cec3bb4d.png","unit_name":"DOLAN","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003710","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663232587/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663493364,"name":"TMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/0b5e5de5c45145658d260d1ab0f1f93d.png","unit_name":"TOOMI","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000011381957","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663493364/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2663595650,"name":"Big Boner","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/030c0620f93b4c8c8af22b8c4becbff2.png","unit_name":"$BONER","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000001629548","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663595650/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2664033127,"name":"Jizz Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/c129674cde3c4005893e48f779977491.png","unit_name":"Jizz","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001292","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2664033127/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2664384148,"name":"Panda Chain","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/1904907499494534b583bdc1769067ab.png","unit_name":"PANDA","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000006566","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2664384148/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2666385951,"name":"Tony Sopralgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/80481fad01034d71ab5b68f60da1f172.png","unit_name":"TONY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001825","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2666385951/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667006169,"name":"Fish Stick","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/03/31/485aaf558b954df0a86c85d9fb4dc7c6.png","unit_name":"Fish","fraction_decimals":6,"total":"420069420069000000","usd_value":"0.000001022132","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667006169/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667249425,"name":"Fishdicks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/fe31d2ba1a264d17ad3e497354267f52.png","unit_name":"FISHD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000010909","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667249425/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667551674,"name":"WOOOOP WOOOOP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/09/a68eacece42c4617afbbaeb02939bcb7.png","unit_name":"WOOP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000020868","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667551674/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2667764029,"name":"Milksack","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/66b576b2df104663b0e0c1fbd96808fc.png","unit_name":"Milksack","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004231","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2667764029/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2668221955,"name":"Algorand The Goat","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/e93982020a6545a99c01d888f4278722.png","unit_name":"$ GOAT","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001213","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2668221955/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2668760688,"name":"RICH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/95f205c9cbc840faa226ec2a23bbf151.png","unit_name":"RICH","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001695","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2668760688/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2670175704,"name":"ALGOATOR#125","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/5bc2b46e786a4577af91182a490385c8.png","unit_name":"ATOR","fraction_decimals":6,"total":"696969696969000000","usd_value":"0.000000002437","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670175704/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2670539766,"name":"Algoros Viking","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/4bbb333fee7c4bbfac7228c3fffb4cc1.png","unit_name":"VIKING","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000009140082","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670539766/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2671392171,"name":"Rug RetroSpace","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/24/bc76a565a64a4001a4c0ff52170d81c1.png","unit_name":"RETRO","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002553","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2671392171/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2673531175,"name":"Dogebonk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/227da7523280425c98f43a50fab70f7e.png","unit_name":"dobo","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003519","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2673531175/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2682845524,"name":"Algorand OG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/12/ddbc0e94bf8940018ff16d8b84403301.png","unit_name":"AOG","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000018446","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2682845524/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2683257408,"name":"I Am Stevie Z","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/639f1833fe414eef85cffb601ebac395.png","unit_name":"IAMSZ","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001685","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2683257408/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2683401763,"name":"byefelicia","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/e9d73530027c45669cc936c87ecbc316.png","unit_name":"FELI","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004029","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2683401763/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2686169753,"name":"ABBI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/2eca8c4df4144b53a8f552461e1fbbcd.png","unit_name":"ABBI","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000050483750","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2686169753/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2686255110,"name":"Big Ballz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/cdda4a7565eb4ccabb4162a3cd07e6dc.png","unit_name":"BiGBaLLz","fraction_decimals":6,"total":"999999999999000000","usd_value":"0.000000008059","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2686255110/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2687904818,"name":"Cum Wave","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/1d35c1c8ca244a1d92eca8d86eb7ef70.png","unit_name":"CUMWAVE","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001565","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2687904818/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2688888602,"name":"iLC Grit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/bbc97bbbea7d4d6abbbd81a353d4e94c.png","unit_name":"Grit","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000013034927","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688888602/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2692224217,"name":"Airi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/16/b8b297ec79f54d768b0082cdbdcf84db.png","unit_name":"AIRI","fraction_decimals":6,"total":"6969696969000000","usd_value":"0.000000180360","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2692224217/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2692530688,"name":"ButtBuddiesCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/01/1a4d7064274a4195b6abe421a5e68c54.png","unit_name":"BBC","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001606","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2692530688/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2698932044,"name":"Algo TRUMP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/18/3c3955e0a41d401aa0029cec7a5abf70.png","unit_name":"$TRUMP","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000002815","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2698932044/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2699158189,"name":"TRUMPIUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/18/474a4ac7766a493087e266f1ea561b1c.png","unit_name":"TRUMPIUS","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001240","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2699158189/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2701155519,"name":"Fuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/19/6aafc3e0bf504d5e84e2431a963bdff8.png","unit_name":"Fuck","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001670","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2701155519/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2705531863,"name":"Eric Trump","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/22/1447f561d4264783a625e08e53086ff6.png","unit_name":"ETrump","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000004270","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2705531863/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2712061516,"name":"SilkRoad","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/23/4e2f360a46c84f9ca6f79d02a7fbd0d4.png","unit_name":"silk","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001918","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2712061516/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2717482658,"name":"Suds","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/10/c8c2e8267c11423ba22a9a2d57662518.png","unit_name":"$SUD","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001803","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2717482658/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2727023035,"name":"Deal Wit It","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/28/c09d8e40c9804cb284505d597b67cafb.png","unit_name":"WIT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000012378968","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2727023035/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2730007495,"name":"🐂💩","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/31/c718db616a70431998044f73387fcd8a.png","unit_name":"🐂💩","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000003259","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2730007495/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2733296774,"name":"NOTSKYNET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/14/2364215fd3694e01a47102a751d48d78.png","unit_name":"REMY","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000000001726","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2733296774/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2747837612,"name":"Mike Hunt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/04/03/a9a0aa256fe3429aa87e38e82ddcdd89.png","unit_name":"MKNT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000014624392","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747837612/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2755340394,"name":"Silvio AI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/23/69f8c1f00d4b4179a3ce3ce4332f469a.png","unit_name":"SILVIO","fraction_decimals":6,"total":"100000000000000000","usd_value":"0.000000031443","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2755340394/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2759947125,"name":"Angels of Ares","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/10/8e144c33749347508093e1f1537e2367.png","unit_name":"AoA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000002574897","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2759947125/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":2808820052,"name":"MAMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/e0665a56491c4f9d8d7fef365886793b.png","unit_name":"MAMI","fraction_decimals":6,"total":"690000000000000","usd_value":"0.000004051923","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2808820052/","collectible":null,"creator":{"id":3605330696867484700,"address":"7TL5PKBGPH4W7LEZW5SW5BGC4TH32XVFV5NVTXE4HTTPVK2JUJODCVTHSU","is_verified_asset_creator":false},"type":"standard_asset","category":1},{"asset_id":312769,"name":"Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/15/40cfe868857c46c9bdb177244b25069c.png","unit_name":"USDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.003436682853","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/312769/","collectible":null,"creator":{"id":3378854132130893000,"address":"XIU7HGGAJ3QOTATPDSIIHPFVKMICXKHMOR2FJKHTVLII4FAOA3CYZQDLG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":6547014,"name":"Meld Gold","logo":null,"unit_name":"MCAU","fraction_decimals":5,"total":"9007199254700000","usd_value":"96.552110571535","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/6547014/","collectible":null,"creator":{"id":3425808711431537700,"address":"26LYTJVUJZZ2DGPETGJY7TGQABH6KLLHDCULLVQKUGCL7BQAWT3N74VZME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":6587142,"name":"Meld Silver","logo":null,"unit_name":"MCAG","fraction_decimals":5,"total":"9007199254700000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/6587142/","collectible":null,"creator":{"id":3425808711431537700,"address":"26LYTJVUJZZ2DGPETGJY7TGQABH6KLLHDCULLVQKUGCL7BQAWT3N74VZME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":27165954,"name":"PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/10/d94124527ddb4c9793ec9f41147a7e3f.png","unit_name":"Planets","fraction_decimals":6,"total":"4500000000000000","usd_value":"0.000027835263","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/27165954/","collectible":null,"creator":{"id":3425808711251412500,"address":"BY6UJNZ2MD3AZC2K2KQJW7W7OWPGGIBNOSZGFZQ6L426BTGO5G2FOI6VPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":31566704,"name":"USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/usd-coin-usdc-logo.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/31566704/","collectible":null,"creator":{"id":3359833743313685000,"address":"2UEQTE5QDNXPI7M3TU44G6SYKLFWLPQO7EBZM7K7MHMQQMFI4QJPLHQFHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":137020565,"name":"Buy Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/01/a1eedbf5cad04b4499dea08e3fd29c30.png","unit_name":"BUY","fraction_decimals":2,"total":"100000000000","usd_value":"0.004217033993","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/137020565/","collectible":null,"creator":{"id":3381885048371232300,"address":"IVJRGE77IR4MIOUSLSSKMRYRJHMDBXSQ65JRAJI5YYC2FCBHSFHAVZIRIM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":137594422,"name":"HEADLINE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/21/b0d2a4b86c364a34bd12301bcdc31440.png","unit_name":"HDL","fraction_decimals":6,"total":"25000000000000","usd_value":"0.006676503548","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/137594422/","collectible":null,"creator":{"id":3385251826900646000,"address":"K3NSXYMHPRCK7PMYT3QUQXUGPZJ4MKWJXW2HJRYPVMQUMKJAOJEIEO4HK4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":142838028,"name":"ALGO FAM TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/03/53872de051f543deb79690303ec70b27.png","unit_name":"FAME","fraction_decimals":2,"total":"1000000","usd_value":"3.015315651849","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/142838028/","collectible":null,"creator":{"id":3347239284987612000,"address":"2BLB6GIAMLNXHOYSCSP4Q7FMS5KZHSYJCALUW46WPANP7KR4KMFTQWDCHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":181380658,"name":"Geography","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/09/94600c7cafbe4ba4a0c27d1b9f82eaad.png","unit_name":"GEO","fraction_decimals":2,"total":"5000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/181380658/","collectible":null,"creator":{"id":3425902491212854300,"address":"6XMKHU65LJCGFPHKTRHLKJTNQXAJNU3MTJRIHJ7ZCIPCKFYVN2ADHX24MA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":213345970,"name":"Exodus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/03/17/b47a46b987ce444bb2d00765dc2cd885.png","unit_name":"EXIT","fraction_decimals":8,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/213345970/","collectible":null,"creator":{"id":3398785743928412700,"address":"MAKF3GL52O5O6ENRRLJSEJRLTR74E323JBZIWMMGLZT5PNZ4NDTEEODN7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":226701642,"name":"Yieldly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/29/4f1596df65c84aaeadf130efc5dde83e.png","unit_name":"YLDY","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000004451624","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/226701642/","collectible":null,"creator":{"id":3425808709747522000,"address":"6SSWYFBRAGM5HMCANECPENBJWOV6UM3O54DYGRNK7GRCHU4QW2ZQJUPYNI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":227855942,"name":"STASIS EURO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/14/9b71923777224a7ba953d226ce404e3b.png","unit_name":"EURS","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.125345536047","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/227855942/","collectible":null,"creator":{"id":3425808709602375700,"address":"XOS4GHMBFJD3I7TYZQFB7FPZ25NHW5V2LS7O54JFSVTPNDAE45DFTKVN3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":230946361,"name":"AlgoGems","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/bbcb7e63c3034d01b43846f098d60498.png","unit_name":"GEMS","fraction_decimals":6,"total":"10000000000000","usd_value":"0.008965259618","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/230946361/","collectible":null,"creator":{"id":3425899610116923400,"address":"5XU7ASL2PLB2C43N6JNFPMSXGATO2VIVNF7X6NTJ4BRCCKRGETEYS3LOAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":233939122,"name":"AlgoWorld Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/08/c051ce5e996c48928a35ff4eadefc053.png","unit_name":"AWT","fraction_decimals":0,"total":"10000000","usd_value":"0.000321591333","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/233939122/","collectible":null,"creator":{"id":3403454794135598600,"address":"GRV2SXHUXIHF4C5KDMC6KUH47BTBCLWJFEXM464GUTXU3BDEHE634Y6K2U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":237267329,"name":"Lofty AI","logo":null,"unit_name":"Loftys","fraction_decimals":0,"total":"10000001","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/237267329/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":237913743,"name":"Lofty 917 Pawnee LFTY0001","logo":null,"unit_name":"LFTY0001","fraction_decimals":0,"total":"2160","usd_value":"59.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/237913743/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":239444645,"name":"Kaafila","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/857d0869964e4678b8a16c135ead1fc6.png","unit_name":"KFL","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/239444645/","collectible":null,"creator":{"id":3425899404854137300,"address":"PAPISJZUYIQC2FIDRPQU2RFNDO2ZRGZN4IEN6QRD7V7PAQBT4CYAHQQTQI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":242346016,"name":"AB2 Gallery Verify","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/20/8aae3e0d252445aaa5f5b909c95a0917.png","unit_name":"AB2-V","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/242346016/","collectible":null,"creator":{"id":3398689423775159000,"address":"C7R2LXN6XAGMUP6STABLUMBDUYHHROQOQD2XT7FSEDNKP56674JG2GB5LE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":246516580,"name":"Meld Gold (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/a5706bc6e41049a385d80468259ce1f4.png","unit_name":"GOLD$","fraction_decimals":6,"total":"100000000000000000","usd_value":"104.598431079566","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/246516580/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":246519683,"name":"Meld Silver (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/d5254eec62f64f5486e84c7c19669ce9.png","unit_name":"SILVER$","fraction_decimals":6,"total":"100000000000000000","usd_value":"1.044732909973","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/246519683/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":251014570,"name":"Blocks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/07/236b9dc671ee4c4b826f6e4c393c047c.png","unit_name":"Block","fraction_decimals":0,"total":"42000000000","usd_value":"0.000007070601","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/251014570/","collectible":null,"creator":{"id":3425809301836849000,"address":"ZSV653RYTKEOMS5PJA3KVGCKSEXP5XD36PTGCJFLOFC652I5QZHGD3FBMQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":257805044,"name":"Lofty 4661 Berta Rd","logo":null,"unit_name":"LFTY0002","fraction_decimals":0,"total":"1970","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/257805044/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263891752,"name":"Meld Platinum (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/64c898a400fb4730ae0e7f2a484d2fd3.png","unit_name":"PLAT$","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263891752/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263893023,"name":"Meld Palladium (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/04/10/5eeee09d0105468d8deda0a796bd3fea.png","unit_name":"PALD$","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263893023/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263901556,"name":"Meld USD","logo":null,"unit_name":"USD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263901556/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263902859,"name":"Meld GBP","logo":null,"unit_name":"GBP$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263902859/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263903550,"name":"Meld AUD","logo":null,"unit_name":"AUD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263903550/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263904280,"name":"Meld NZD","logo":null,"unit_name":"NZD$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263904280/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":263904924,"name":"Meld EURO","logo":null,"unit_name":"EUR$","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/263904924/","collectible":null,"creator":{"id":3348695282912187400,"address":"V3NFJSXNZJKEB76N7VSKJXH7AZMYS6NFOJ7K2CYYORO74LM3USCF4HEC6Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":266846137,"name":"SIGN.NET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/b027df7c439b4107999695f489c1b5e9.png","unit_name":"SIGN","fraction_decimals":7,"total":"21000000000000000","usd_value":"0.000693873739","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/266846137/","collectible":null,"creator":{"id":3353430444951617000,"address":"2GC5XL2SV34S272FWGQMU6EQGJRGKTMEQGWD6ZWDDGEQXO4VLAGKIDQLRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":276461096,"name":"Lofty 3557 Carrington Rd","logo":null,"unit_name":"LFTY0003","fraction_decimals":0,"total":"2140","usd_value":"58.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/276461096/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":283820866,"name":"Xfinite Entertainment Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/f48a45093fe74a8ba8f26a9509a774a6.png","unit_name":"XET","fraction_decimals":9,"total":"4000000000000000000","usd_value":"0.000175054165","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/283820866/","collectible":null,"creator":{"id":3412161475986987000,"address":"HYIJYKMUYNUKMXRPCI2MZFBI2YN57B7R6KT3UZ2MX3QNJE3NVEHC2Q3RSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":284090786,"name":"Lofty 16171 Ilene St","logo":null,"unit_name":"LFTY0004","fraction_decimals":0,"total":"2762","usd_value":"57.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/284090786/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":287504952,"name":"Lofty 2337 Greenvale Rd","logo":null,"unit_name":"LFTY0005","fraction_decimals":0,"total":"1959","usd_value":"52.470000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/287504952/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":287867876,"name":"Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/13/1c665c2f00b047cc8ab0c94cc3f0409c.png","unit_name":"OPUL","fraction_decimals":10,"total":"5000000000000000000","usd_value":"0.029381770638","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/287867876/","collectible":null,"creator":{"id":3378454918818914000,"address":"V537CZUKQJH2ETEJRXHAQI6OUHL54MZU5OIBCAU4J6OE3557ODF74WVQCA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":297995609,"name":"Choice Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/13/a604ba325a2744c79c2bccf6aa7d6f18.png","unit_name":"Choice","fraction_decimals":2,"total":"100000000000","usd_value":"0.000020847964","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/297995609/","collectible":null,"creator":{"id":3415282169135368700,"address":"FG7NNTZU2LMMD2RD3Q5P2T77MESNEU2XXSZKYXKE5TWMXIHTMPJTSCILTA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":305992851,"name":"Algoneer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/a90046562def4a428bc74c5a08d6d969.png","unit_name":"AGNR","fraction_decimals":3,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/305992851/","collectible":null,"creator":{"id":3417028622804347400,"address":"6PID3QY44COGICDIVGKB4ZV5B46TWLGLFAXR3R6VH4H54QAQJ3RGR6IMNQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":306034694,"name":"Lofty 4920 E 110th St","logo":null,"unit_name":"LFTY0006","fraction_decimals":0,"total":"2509","usd_value":"56.280000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/306034694/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":307329013,"name":"Lofty 4318 Clybourne Ave","logo":null,"unit_name":"LFTY0007","fraction_decimals":0,"total":"4819","usd_value":"57.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/307329013/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310014962,"name":"AlcheCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/03/ef64e319938b48e69494b82d3eb2da4c.png","unit_name":"ALCH","fraction_decimals":0,"total":"100000000","usd_value":"0.000086660440","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310014962/","collectible":null,"creator":{"id":3393385476150878000,"address":"OJGTHEJ2O5NXN7FVXDZZEEJTUEQHHCIYIE5MWY6BEFVVLZ2KANJODBOKGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310079703,"name":"Lofty 3514 W 123rd St","logo":null,"unit_name":"LFTY0008","fraction_decimals":0,"total":"2366","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310079703/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":310928550,"name":"Lofty 14720 Ohio Ave","logo":null,"unit_name":"LFTY0009","fraction_decimals":0,"total":"2432","usd_value":"56.710000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/310928550/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":312414178,"name":"Lofty 4312 E 162nd St","logo":null,"unit_name":"LFTY0010","fraction_decimals":0,"total":"2157","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/312414178/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":317188185,"name":"Lofty 9634 S Green St","logo":null,"unit_name":"LFTY0011","fraction_decimals":0,"total":"3367","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/317188185/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":317670428,"name":"Zenny","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/79ba36174bf34f3ab4d48f5f211bc3c9.png","unit_name":"ZENI","fraction_decimals":10,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/317670428/","collectible":null,"creator":{"id":3425812407695415000,"address":"Q7CMKLLZBGHGXNF47YKDMQAZ2LX77TBJZIY6D2GPWSXP3I7TVONUFL2TMI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":324785039,"name":"Lofty 18474 Glenmore St","logo":null,"unit_name":"LFTY0012","fraction_decimals":0,"total":"2784","usd_value":"55.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/324785039/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":327821015,"name":"PEP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/12/07/b23bdf6f604647f9a385d6efa3ca4ffb.png","unit_name":"PEP","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/327821015/","collectible":null,"creator":{"id":3421042998244879400,"address":"VKRVV5JYOMKHEDFDP2WRZGOP4CQXL5X7YTFJS7QNMMF7OM6FFBQD4WNPUA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":328124067,"name":"CC Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/16/45328e736d3d4cfba16284c9879e5566.png","unit_name":"CC","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/328124067/","collectible":null,"creator":{"id":3421036587446513000,"address":"L4JWZGMOYA62KLPURK3F2ABG2KTB5MS2FC6ONQ7LKWITBXYNDXGL76L4A4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":329110405,"name":"TacoCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/07/80c95aafcac349d6af57d7ae76faef42.png","unit_name":"Tacos","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000968229","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/329110405/","collectible":null,"creator":{"id":3425808702869863400,"address":"RJYHW7AVTX332AAODAWM4QKJNMYBI42TYCAT2SFNXU6RP34QZ2OAXYIOLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":330057448,"name":"Lofty 16713 Lotus Dr","logo":null,"unit_name":"LFTY0013","fraction_decimals":0,"total":"2344","usd_value":"53.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/330057448/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":330168845,"name":"KryptoNurd","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/0f1bb5757da84a65baff97294482474d.png","unit_name":"NURD","fraction_decimals":2,"total":"100000000000","usd_value":"0.000004397273","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/330168845/","collectible":null,"creator":{"id":3425809418815050000,"address":"KNURDUNQR5XEKTUGCHKPOFDJ76METNMWIUVWQPMTHYM66EPUBJTDKS463A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":331477055,"name":"Lofty 4245 E 177th Pl","logo":null,"unit_name":"LFTY0014","fraction_decimals":0,"total":"2454","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/331477055/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":331601581,"name":"Lofty 251 Wachtel Ave","logo":null,"unit_name":"LFTY0015","fraction_decimals":0,"total":"2839","usd_value":"56.740000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/331601581/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":338444324,"name":"AlgoWIFI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/29/a7ca67d371cd430e94c27eada34cd985.png","unit_name":"AWIFI","fraction_decimals":6,"total":"4500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/338444324/","collectible":null,"creator":{"id":3393182519828781600,"address":"DAJBS3U73BY2RTH426BWCLO5OZFTKG5NKC6MB3Y3BFM6P7NAC3Y3FEVEJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":339977421,"name":"Lofty 329 Stoneham Rd","logo":null,"unit_name":"LFTY0016","fraction_decimals":0,"total":"2223","usd_value":"58.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/339977421/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":341164928,"name":"Lofty 5003 Deneen Dr","logo":null,"unit_name":"LFTY0017","fraction_decimals":0,"total":"2564","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/341164928/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":343527910,"name":"Lofty 333 Illinois Ave","logo":null,"unit_name":"LFTY0018","fraction_decimals":0,"total":"3889","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/343527910/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":344858966,"name":"Lofty 3905 E 189th St","logo":null,"unit_name":"LFTY0019","fraction_decimals":0,"total":"2352","usd_value":"57.590000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/344858966/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":347948733,"name":"Lofty 4131 Wright Ave","logo":null,"unit_name":"LFTY0020","fraction_decimals":0,"total":"2493","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/347948733/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":349258461,"name":"Lofty 3535 Debby Dr","logo":null,"unit_name":"LFTY0021","fraction_decimals":0,"total":"2220","usd_value":"57.540000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/349258461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":350604095,"name":"Lofty 3429 W 8th St","logo":null,"unit_name":"LFTY0022","fraction_decimals":0,"total":"3452","usd_value":"52.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/350604095/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":351807576,"name":"Lofty 3133 Estes St","logo":null,"unit_name":"LFTY0023","fraction_decimals":0,"total":"3892","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/351807576/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":354715064,"name":"Lofty 6914 Polonia Ave","logo":null,"unit_name":"LFTY0024","fraction_decimals":0,"total":"2242","usd_value":"59.460000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/354715064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":356682443,"name":"Lofty 1380 Kimball Cv","logo":null,"unit_name":"LFTY0025","fraction_decimals":0,"total":"3208","usd_value":"53.550000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/356682443/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":357651871,"name":"Lofty 19416 Winston St","logo":null,"unit_name":"LFTY0029","fraction_decimals":0,"total":"2352","usd_value":"47.900000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/357651871/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":359624611,"name":"Lofty 3976 Stillwood Dr","logo":null,"unit_name":"LFTY0028","fraction_decimals":0,"total":"2792","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/359624611/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":360767798,"name":"Lofty 7757 Lamphere St","logo":null,"unit_name":"LFTY0031","fraction_decimals":0,"total":"2141","usd_value":"54.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/360767798/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":365261108,"name":"Lofty 3038 Sinclair St","logo":null,"unit_name":"LFTY0034","fraction_decimals":0,"total":"3032","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/365261108/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":367097138,"name":"Lofty 3561 Daleford Rd","logo":null,"unit_name":"LFTY0036","fraction_decimals":0,"total":"4220","usd_value":"57.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/367097138/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":368464732,"name":"Lofty 2724 Chatsworth St","logo":null,"unit_name":"LFTY0038","fraction_decimals":0,"total":"1718","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/368464732/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":370073176,"name":"Hest","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/07/f86d602b532a4a6fb78c72c39aa4de49.png","unit_name":"HS","fraction_decimals":1,"total":"20000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/370073176/","collectible":null,"creator":{"id":3411792269919758300,"address":"MC3DY6TZJ4TBV3ZXIGWNAU3RDLNPORSEM3YWMR6TTWY2ULA77A6TF46LBE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":370245186,"name":"Lofty 11400 Linnet Ave","logo":null,"unit_name":"LFTY0040","fraction_decimals":0,"total":"3012","usd_value":"55.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/370245186/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":371435087,"name":"Lofty 1039 Mt Vernon Rd","logo":null,"unit_name":"LFTY0042","fraction_decimals":0,"total":"2198","usd_value":"57.390000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/371435087/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":375201811,"name":"Lofty 445 Lipford St","logo":null,"unit_name":"LFTY0043","fraction_decimals":0,"total":"2922","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/375201811/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":377975532,"name":"Lofty 1677 Walker Ave","logo":null,"unit_name":"LFTY0037","fraction_decimals":0,"total":"4222","usd_value":"52.860000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/377975532/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":385007719,"name":"Lofty 10917 Fidelity Ave","logo":null,"unit_name":"LFTY0049","fraction_decimals":0,"total":"3254","usd_value":"55.510000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/385007719/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386183165,"name":"Lofty 4326 E 175th St","logo":null,"unit_name":"LFTY0041","fraction_decimals":0,"total":"1934","usd_value":"57.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386183165/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386192725,"name":"goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/ed7089ee90c04610911f925f8e4fde7e.png","unit_name":"goBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"83705.640642510275","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386192725/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":386195940,"name":"goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/07/6f6d84d6589c4b2f97182e586e8a1ceb.png","unit_name":"goETH","fraction_decimals":8,"total":"15000000000000000","usd_value":"1625.084049308928","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/386195940/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":387246614,"name":"Circanomics Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/0008a150d3cf4a0f953af26c68530f90.png","unit_name":"CIRCA","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/387246614/","collectible":null,"creator":{"id":3429749473127210500,"address":"GCQHYQBLVQGWDYNTAX47XHHXURIAK3SX2A5IS3NZD3U2QYBA72JBTAQ3S4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":387809238,"name":"Lofty 9919 S Oglesby Ave","logo":null,"unit_name":"LFTY0054","fraction_decimals":0,"total":"3538","usd_value":"54.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/387809238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":388502764,"name":"Svansy Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/db94be02df7a40bcb7663c46e56b05ae.png","unit_name":"SVANSY","fraction_decimals":6,"total":"420420420420420420","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/388502764/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":388592191,"name":"Chips","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/f8bfd63773ba4517ae7b20714cf8ee40.png","unit_name":"chip","fraction_decimals":1,"total":"10000000000","usd_value":"0.001237635412","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/388592191/","collectible":null,"creator":{"id":3424291520212732400,"address":"ZCG3G65JJJ24GQQP2DWLA34J3TMHEXATMUOOGM2SBGIPMI7HAIOTAPWLIA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":389294682,"name":"Numbers Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/31/e48fe87a17ff44359c21e4fdd85083d4.png","unit_name":"NT","fraction_decimals":2,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/389294682/","collectible":null,"creator":{"id":3389748826092946000,"address":"V54H3GDGF2SZCTDZX3GF4LOYBHZ222IJKQBDMNB5KJJPDPUIGIJ5DLLA5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":390982964,"name":"Algo MoonBoi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/59e0aa02f8774623a0e45ae16433b03e.png","unit_name":"MOONBOI","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/390982964/","collectible":null,"creator":{"id":3430204340824949000,"address":"OVNUDHIPZDKPARA6IE6KXPEP3VODKH26SNOMWN5J2DAIAOTTHOWMIGZOEU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":391379500,"name":"Dope Panda","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/e5fbd6ca4bfc408e8cd6543abc87e54a.png","unit_name":"DPANDA","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/391379500/","collectible":null,"creator":{"id":3430261730269931000,"address":"M5TWBEMR35KXIQ25R4QW3A5FH6BA7P2QUYUDIIKW3VV2JP3BSRPVZOQFIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393401013,"name":"Lofty 3878 Windermere Rd","logo":null,"unit_name":"LFTY0046","fraction_decimals":0,"total":"2792","usd_value":"53.180000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393401013/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393495312,"name":"Algorand Faucet Drops","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/06/f66ec380d84e4722a65b705aa6763cc8.png","unit_name":"AFD","fraction_decimals":8,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393495312/","collectible":null,"creator":{"id":3430547902565927400,"address":"FAUC7F2DF3UGQFX2QIR5FI5PFKPF6BPVIOSN2X47IKRLO6AMEVA6FFOGUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393498731,"name":"Gramo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/23/971670ed64974c48ae4a67dfc06397ab.png","unit_name":"GRAMO","fraction_decimals":2,"total":"2000000000","usd_value":"0.008763541277","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393498731/","collectible":null,"creator":{"id":3430550509568508000,"address":"5B3YN5IB3ZWLW45T4D4MNKSVAQLATCC4QPINWCJRUL4ZXDMYMKLPKTHQ4Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":393537671,"name":"ASA Stats Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/01441daa0f554e38914ca4c4b1f93999.png","unit_name":"ASASTATS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000075558460","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/393537671/","collectible":null,"creator":{"id":3430556721290822700,"address":"VKENBO5W2DZAZFQR45SOQO6IMWS5UMVZCHLPEACNOII7BDJTGBZKSEL4Y4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":394602287,"name":"Lofty 5630 Morgan Ford Rd","logo":null,"unit_name":"LFTY0056","fraction_decimals":0,"total":"2990","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/394602287/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":394904431,"name":"AlgorandDoge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/690f0c3461294ce29e9c7b7154b70460.png","unit_name":"Pup","fraction_decimals":6,"total":"100000000000","usd_value":"0.071826671647","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/394904431/","collectible":null,"creator":{"id":3383852385973837000,"address":"Y4FSJDXLXENJG656LZM63Q32UKRWVCXWWYN3EZCWWNXELF3WENZBF2DXBU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":395813328,"name":"Lofty 29172 Oakwood St","logo":null,"unit_name":"LFTY0026","fraction_decimals":0,"total":"2176","usd_value":"59.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/395813328/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":397955540,"name":"Lofty 7014 Raymond Ave","logo":null,"unit_name":"LFTY0068","fraction_decimals":0,"total":"2297","usd_value":"50.070000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/397955540/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":399383365,"name":"MDLc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/02/b77d8293df3945b8a07d8b3e2888302b.png","unit_name":"MDLc","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/399383365/","collectible":null,"creator":{"id":3421042998244879400,"address":"VKRVV5JYOMKHEDFDP2WRZGOP4CQXL5X7YTFJS7QNMMF7OM6FFBQD4WNPUA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":400382442,"name":"Lofty 6422 Mount Ave","logo":null,"unit_name":"LFTY0069","fraction_decimals":0,"total":"2176","usd_value":"52.370000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/400382442/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":400593267,"name":"DeFi-nite","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/1f75ee8b54f247ad879731df4ca3f7f4.png","unit_name":"Finite","fraction_decimals":8,"total":"2100000000000000","usd_value":"0.006253828912","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/400593267/","collectible":null,"creator":{"id":3431296569091431400,"address":"XOGMYSO3KFWDLKIOP47GAIPNCR3EBNY3B3Q5DSJK3FWSSV6XKFNCNGD2TQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":403499324,"name":"Nexus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/f04bddc0437a40feb2b9e2904da36acf.png","unit_name":"GP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000725532","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/403499324/","collectible":null,"creator":{"id":3431564984882340000,"address":"5W3K7JJLHLFPQF7Y2JOOGATKHP46N3HNCZPYYO2XGKPTJ2P7B3KU6GPR54","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":404014477,"name":"Lofty 5541 S Peoria St","logo":null,"unit_name":"LFTY0062","fraction_decimals":0,"total":"5728","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/404014477/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":404044168,"name":"NEKOIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/c0b0c42535884f0f81d402d59634e172.png","unit_name":"Nekos","fraction_decimals":4,"total":"100000000000000","usd_value":"0.000000487392","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/404044168/","collectible":null,"creator":{"id":3431614265700881400,"address":"YI3VSYP3WZHD5MHX3GXVLTWPPLOE36DBJF3CXZCXVAWAC5QRFKJL4DM72I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406361925,"name":"Kitsune Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/39e954cd02d1415db668b05cfad79724.png","unit_name":"KITSU","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406361925/","collectible":null,"creator":{"id":3425817862345634000,"address":"W632WQKYDFHHNE2KK2E4OLXI44PICAWIOM4KWKLJCXNTO4BSVI7Y33TVYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406383570,"name":"Flamingo Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/10/19f4e9ca43d948939055b07da94ec628.png","unit_name":"FLAMINGO","fraction_decimals":0,"total":"1000000000","usd_value":"0.000008292491","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406383570/","collectible":null,"creator":{"id":3431790194237190000,"address":"QFTM2Y54EIKT7C37LBNBZ775JYVCMFBB43ZIDMK4GZQRU2MDUHOERMJZTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":406662616,"name":"Lofty 15555 Millard Ave","logo":null,"unit_name":"LFTY0027","fraction_decimals":0,"total":"3208","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/406662616/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408177774,"name":"Deli Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/10/0251ef43042b41dca6f582b9063e9bea.png","unit_name":"DELI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408177774/","collectible":null,"creator":{"id":3431930759015404000,"address":"RDEOMCWVI6ZAE6WBZ7XZESNS3EXNDDNQIFZ45NO43J27J3DM6RJZ7UJO6A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408317316,"name":"Lofty 1123 Hudson Rd","logo":null,"unit_name":"LFTY0064","fraction_decimals":0,"total":"2880","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408317316/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":408898501,"name":"Loot Box","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/11b46b7567d1423fa24b354e8361438e.png","unit_name":"LTBX","fraction_decimals":1,"total":"100000000","usd_value":"0.002719275308","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/408898501/","collectible":null,"creator":{"id":3431449057046339600,"address":"LOOTHTGZ5LIF6M5P6URZMW4BX5UO4IS7KBELOVQDTOJFPS4VGLGD2GA5I4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":409283233,"name":"Cow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/13/61789c9599f34db4b830d8720e639b05.png","unit_name":"Cow","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/409283233/","collectible":null,"creator":{"id":3432026271681166000,"address":"K74USKBEWQDDYKK5NDRNDUFRFBJ3JEABTIYVFZ56QPQB3TMI7U6U6OUC4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":409604194,"name":"AlgOcean","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/f2b71e49bb274fa28b113e9550264efe.png","unit_name":"AO","fraction_decimals":2,"total":"1000000000000","usd_value":"0.000018685095","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/409604194/","collectible":null,"creator":{"id":3430346618770448000,"address":"AOCGODDFYTASGTNBRPVVQR6OI2QZZBXT7PBRRMTBI77FPYQY7YZSGWNPZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":411182963,"name":"Lofty 1456 W 85th St","logo":null,"unit_name":"LFTY0072","fraction_decimals":0,"total":"4662","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/411182963/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":411484181,"name":"Lofty 10917 St Mark Ave","logo":null,"unit_name":"LFTY0076","fraction_decimals":0,"total":"2748","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/411484181/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":412056867,"name":"Shosha","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/30/7165814bef924adca6047fcc2aca5ee1.png","unit_name":"SHSA","fraction_decimals":6,"total":"88888888000000","usd_value":"0.001275270825","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/412056867/","collectible":null,"creator":{"id":3420661122582866400,"address":"ZJK6VO7IXL5MI3NCLQX4PODILB6IMS3CNTKTRHZBJX3GEQQ4HPATF4Z7PI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":415479257,"name":"Lofty 12808 Gruss Ave","logo":null,"unit_name":"LFTY0078","fraction_decimals":0,"total":"2330","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/415479257/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":415780733,"name":"Lofty 8143 South Sangamon St","logo":null,"unit_name":"LFTY0059","fraction_decimals":0,"total":"7021","usd_value":"50.560000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/415780733/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":421233661,"name":"Lofty 3024 W 103rd St","logo":null,"unit_name":"LFTY0073","fraction_decimals":0,"total":"1824","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/421233661/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":423448944,"name":"GoSayHELLO App","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/21/145fa8f5026f40c2b2ed0743abb69c09.png","unit_name":"$HELLO","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/423448944/","collectible":null,"creator":{"id":3382943197261643300,"address":"XSQI4X6RLYVCXYIHY4XDQOY5AMAUCWE6R2CJE7O4WQS2BZWT75DRIBDT4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":423834123,"name":"Lofty 2094 W 34th Place","logo":null,"unit_name":"LFTY0082","fraction_decimals":0,"total":"4266","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/423834123/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":428719354,"name":"Lofty 9583 Pagewood Ave","logo":null,"unit_name":"LFTY0061","fraction_decimals":0,"total":"2415","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/428719354/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":428942742,"name":"Lofty 9423 Denison Ave","logo":null,"unit_name":"LFTY0077","fraction_decimals":0,"total":"3672","usd_value":"55.480000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/428942742/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":433379445,"name":"SUPERIO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/dc375044e4f0492c846a43aea5db4e9a.png","unit_name":"SUPER","fraction_decimals":0,"total":"1000000000","usd_value":"0.000007445274","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/433379445/","collectible":null,"creator":{"id":3432683514022518000,"address":"EF5CFMVEMFP4WYALTFM5IN5SVFEWT6ANH4DEDENISMC7TFCQ56B3FQDXRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":433935394,"name":"Lofty 12028 Wade Park Ave","logo":null,"unit_name":"LFTY0084","fraction_decimals":0,"total":"4442","usd_value":"53.680000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/433935394/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":435335235,"name":"Crescendo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/24/3cd8641f086f49e2bce13f1b0eb5e745.png","unit_name":"CRSD","fraction_decimals":0,"total":"1500000000","usd_value":"0.000050648113","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/435335235/","collectible":null,"creator":{"id":3432157179666702300,"address":"H7X55NPJUIQKW3X6RWHDDS6KDKNFSM2UHE3JVVELM5TRK2PTF7WHGZHF3Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":437070179,"name":"Lofty 8708 Willard Ave","logo":null,"unit_name":"LFTY0089","fraction_decimals":0,"total":"2638","usd_value":"49.420000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/437070179/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":438690404,"name":"Lofty 20413 Kingsville St","logo":null,"unit_name":"LFTY0050","fraction_decimals":0,"total":"2174","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/438690404/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":440238741,"name":"Lofty 1388 Penhurst Rd","logo":null,"unit_name":"LFTY0093","fraction_decimals":0,"total":"1486","usd_value":"57.390000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/440238741/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":441139422,"name":"goMINT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/07/a18b76933abf48db96cd2539421e897b.png","unit_name":"goMINT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000290324990","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/441139422/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":442594211,"name":"Prismatic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/aad03647b0f446f781cf60b9a7eba030.png","unit_name":"PRISM","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/442594211/","collectible":null,"creator":{"id":3434989018478679000,"address":"UIGRDPXZR67HDDJEOXBRBC7SBR32NK2JRY5QBQBUF2IIJFXEY6UZ235PBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":443323227,"name":"Lofty 1278 E 187th St","logo":null,"unit_name":"LFTY0094","fraction_decimals":0,"total":"1717","usd_value":"56.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/443323227/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":444035862,"name":"ZONE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/b805bf2f81fa40f9adb2c76430a0c2e7.png","unit_name":"ZONE","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000249420993","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/444035862/","collectible":null,"creator":{"id":3435146754338201000,"address":"DSD64N54TOAORLOM77EGKC4N3L55N45WLXUV3I24HZBJLY5YX22VXATHTA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":444108880,"name":"CryptoTrees","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/c562278771034e90ba0cf0e44b6edb7a.png","unit_name":"TREES","fraction_decimals":0,"total":"50000000000","usd_value":"0.000000060390","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/444108880/","collectible":null,"creator":{"id":3435157056506940400,"address":"FC74MJE3LPG3WH2CLNJ6MQQTVT6B3D6X43XQ7YG57TPFOJ4ZHAXSYPNYQI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445347483,"name":"CARE TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/27/b396f1cc7e4944bb8e4024a669467f06.png","unit_name":"CARE","fraction_decimals":4,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445347483/","collectible":null,"creator":{"id":3427058129317908000,"address":"AKPR4BQRRTWRU3G25HWFYVE5TKAO7NH5G3CHZV74HHFCYNL7S42KQTQELA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445362421,"name":"MAGMA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/8f7199ab4e674d588c8f35a9fd50bef0.png","unit_name":"MAGM","fraction_decimals":10,"total":"7770000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445362421/","collectible":null,"creator":{"id":3430765302984945000,"address":"KE5A23DGZUKXMC3ZRBO2X3DP3HOD6F5ELV4KXS3ORTX27GNRR7PRRHZRPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":445905873,"name":"AlgoLeagues Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/31/3e203e5c3a8a4b189748410c04e3a4a5.png","unit_name":"ALC","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000025113933","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/445905873/","collectible":null,"creator":{"id":3435378606869009000,"address":"AALCLBZHQFU4WGR5P6ZV2PUIFMMGP3PBBBU2IQH7GTPWI2SX5TMPSTDZEE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":446220964,"name":"Animal Style","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/05/be64484c106e4bd3ba3b766f86b895f8.png","unit_name":"ANML","fraction_decimals":3,"total":"33000000000","usd_value":"0.000142527082","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/446220964/","collectible":null,"creator":{"id":3435416896562526000,"address":"O3YA35Y2USVK3H3EANMLVONV2ZREDL3LV7DT4PT3ZOVNSNSKDS3Y3REBGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":446545048,"name":"Lofty 7542 & 7656 S Colfax Ave","logo":null,"unit_name":"LFTY0096","fraction_decimals":0,"total":"16168","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/446545048/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":449485006,"name":"Lofty 428 Cross St","logo":null,"unit_name":"LFTY0095","fraction_decimals":0,"total":"4882","usd_value":"58.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/449485006/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":451431994,"name":"Lofty 3139 West Blvd","logo":null,"unit_name":"LFTY0100","fraction_decimals":0,"total":"4486","usd_value":"56.610000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/451431994/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":452047208,"name":"SockHODLER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/92dd1f0850a14c66a9efefbc7165e0ef.png","unit_name":"SOCKS","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000056361598","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/452047208/","collectible":null,"creator":{"id":3436093522890249700,"address":"ZVHNS7B5A7FBLGEHBVA6URY2SEPJUZDMZTRJCTITC7XOTCJCJ5GJKTTNQA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":452399768,"name":"Vote Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/fc5401f46e5c41feb5caea3e394f198e.png","unit_name":"Vote","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.029159506910","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/452399768/","collectible":null,"creator":{"id":3436132583180807000,"address":"P65LXHA5MEDMOJ2ZAITLZWYSU6W25BF2FCXJ5KQRDUB2NT2T7DPAAFYT3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":457007402,"name":"DarkDragonWing","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/12/36e59f3eab3e45bfb7848b33bde3ecc5.png","unit_name":"DDW","fraction_decimals":0,"total":"1000000000","usd_value":"0.000133642136","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/457007402/","collectible":null,"creator":{"id":3436750538177044000,"address":"MWX3TP37DTWKSEFALZSXTVNTON3PRXN75C2LEBDJHFCB65WDSNSZQZWFXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":459493039,"name":"Lofty 25 Circle Dr","logo":null,"unit_name":"LFTY0065","fraction_decimals":0,"total":"2922","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/459493039/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":460608994,"name":"Lofty 3031 W Flournoy St","logo":null,"unit_name":"LFTY0099","fraction_decimals":0,"total":"6837","usd_value":"49.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/460608994/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":461849439,"name":"PariToken","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/48106be1965a47ac9c04d2510f3b5980.png","unit_name":"PARI","fraction_decimals":3,"total":"1000000000000","usd_value":"0.000014983937","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/461849439/","collectible":null,"creator":{"id":3434472385640308000,"address":"ZPSI2EEZR3TTQKVPW2TBRYYDHK7RDYGFSDJPCVL67VVU3KPJ6DBRLUP5BI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":462627255,"name":"Lofty 3834 W Polk St","logo":null,"unit_name":"LFTY0060","fraction_decimals":0,"total":"9027","usd_value":"46.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/462627255/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":463554836,"name":"AlgoFund","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/a92805b135da4ab6a6fa88aa8ea93720.png","unit_name":"ALGF","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/463554836/","collectible":null,"creator":{"id":3437758665330286600,"address":"ARX43T73PF6HBLYSGHEIGMD3W5V3D4WRSCVF27QKVN6I2OEGP5A5BYTMNY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465553355,"name":"Lofty 665 Chapman St","logo":null,"unit_name":"LFTY0086","fraction_decimals":0,"total":"4242","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465553355/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818547,"name":"bALGO","logo":null,"unit_name":"bALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818547/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818553,"name":"bUSDC","logo":null,"unit_name":"bUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818553/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818554,"name":"bgoBTC","logo":null,"unit_name":"bgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818554/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818555,"name":"bgoETH","logo":null,"unit_name":"bgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818555/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465818563,"name":"bSTBL","logo":null,"unit_name":"bSTBL","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465818563/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465865291,"name":"STBL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/4be5bd01707d4ce0ab0d77507ba14e72.png","unit_name":"STBL","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.999813223757","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465865291/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":465984936,"name":"Foodie Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/16/466678b49dc5468a99890433787b2d84.png","unit_name":"FOODIE","fraction_decimals":4,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/465984936/","collectible":null,"creator":{"id":3430822285046750000,"address":"EEGSBZA7VI3WVMRVCF6QLJAFAQYVZYZPGXHGFSHICK5BSS3S5JZTEDQU24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":467134640,"name":"RDinitiativ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/bdd64e12ba7143d187f027c6ea59ff1b.png","unit_name":"RDINI","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/467134640/","collectible":null,"creator":{"id":3436724451319204400,"address":"WVEU2WIOTG7WBQBKALOAI7QBC5AXBO3U24GV363RXRG5HFO6NXWCHK6XN4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":467518794,"name":"LOLCatz 😻","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/10/d58458a3ebd644ac89c202603a302210.png","unit_name":"LOLZ","fraction_decimals":7,"total":"690000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/467518794/","collectible":null,"creator":{"id":3430765302984945000,"address":"KE5A23DGZUKXMC3ZRBO2X3DP3HOD6F5ELV4KXS3ORTX27GNRR7PRRHZRPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":468433605,"name":"Lofty 755 Robinwood Dr","logo":null,"unit_name":"LFTY0063","fraction_decimals":0,"total":"2660","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/468433605/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":470842789,"name":"Defly Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/9c4319c94bc848568d257025a97b5dba.png","unit_name":"DEFLY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000463335823","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/470842789/","collectible":null,"creator":{"id":3438754230687260000,"address":"ZSASGQZ37L5SVV2VSEKBJTSRTNVPV3IJ7NEWM6BRCXY5AZD5HQLLVYU76I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":471808654,"name":"Lofty 7704 Mallard Dr","logo":null,"unit_name":"LFTY0087","fraction_decimals":0,"total":"1968","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/471808654/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":478549868,"name":"BirdBot","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/27/8ac9a289e7514dccb4d881b70527525d.png","unit_name":"BIRDS","fraction_decimals":0,"total":"50000000000","usd_value":"0.000004098431","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/478549868/","collectible":null,"creator":{"id":3424778168135302700,"address":"I6OCQ7C2KVDVT6ARZAG5JNWBJLVVF6PLEBTCJP7CCK3DKTLSNUFXDMWTCQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":478989144,"name":"Sovrgn Farm Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/15/3117d266a51d4e1faf65f668de91a753.png","unit_name":"SFT","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/478989144/","collectible":null,"creator":{"id":3432694266418891000,"address":"S4YFP2U4CBZMDX7V3PMJGODRTUQKVB2YAUYJNLFVNVOE3UDRV77SRDWI4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":498684064,"name":"BULO Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/7324be280c364f04b218057f49310980.png","unit_name":"BULO","fraction_decimals":2,"total":"100000000000","usd_value":"0.000001832984","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/498684064/","collectible":null,"creator":{"id":3440292065840607000,"address":"JI2OYVVAU7XONKPZJJ4SW2IT6SIJ55SMGP4R4HFPAPBIVIWYEQVEJUEP2E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":499213551,"name":"MariCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/01/43201abbe673407e8384465440cbf020.png","unit_name":"MCOIN","fraction_decimals":3,"total":"10000000000000","usd_value":"0.001303642136","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/499213551/","collectible":null,"creator":{"id":3440329086145238000,"address":"AV6SOIK4RTZCUAVFOSIDJUPCOPVZCUJCX63QE7WNFP77DCSFOWOFV2HNPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":500105167,"name":"Lagosrand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/11/f90c868b0a84457f97694466188355c8.png","unit_name":"LAGOS","fraction_decimals":0,"total":"420420","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/500105167/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":507472097,"name":"Inu Moo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/01/a2df8aa7fabe4f7584ea0b60d201ab49.png","unit_name":"INUMOO","fraction_decimals":0,"total":"1000000000","usd_value":"0.000273627194","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/507472097/","collectible":null,"creator":{"id":3386301789383790000,"address":"OAXQZTYXGLCA5YUVYGTKHBXPUUD2UGV6UTFA36X3POAMQEQAVWHHKZFMJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":509808838,"name":"Webblen","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/641e316ce5e7488dae485c1733b81832.png","unit_name":"WBLN","fraction_decimals":6,"total":"1150000000000000000","usd_value":"0.000000002872","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/509808838/","collectible":null,"creator":{"id":3440875000259275000,"address":"L6NW6ACFA3IGTHI4SJAYWNT4MATWLOLOF2XWSUXA64COAKRPB26BCNO77I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":510337930,"name":"🦴 Bones ASA 🦴","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/55614ab6defc46d39b48b15e2b3a99b8.png","unit_name":"Bones","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/510337930/","collectible":null,"creator":{"id":3440946361340652000,"address":"FVNYRKC7ALUAYJPYSKEDBEJL5NOVG32YTZKS7FC2U5OINAAKJYMNIPKHB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":510647803,"name":"High Potential","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/06/ef3518205365482bb26e85d29a0070cb.png","unit_name":"HiPo","fraction_decimals":4,"total":"500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/510647803/","collectible":null,"creator":{"id":3440977446869875000,"address":"ITO5D463VM2BOZRD62VK4IL5ITCVD37P2PM3WXYB5RZUIG4ORLHBURPMLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":511028589,"name":"Jim Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/09/42bdc0d38c0c49e3b6aab4cb18e77070.png","unit_name":"Jimmy","fraction_decimals":4,"total":"500000000","usd_value":"0.821105715353","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/511028589/","collectible":null,"creator":{"id":3433292699800911400,"address":"UBAZS6OD3JPK3N7MA7NCNFHWQAJUWPALDIGNZIHWXNOBWGZ3MM2MUBVBK4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":511491168,"name":"CujoToken","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/22b4b4d061ab495185be0a8ec9497da8.png","unit_name":"Cujo","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/511491168/","collectible":null,"creator":{"id":3441134840482031000,"address":"ONHRGY7XFZBDL7DXYDE4RKSZOQ5SOZM6FZIV7KO7A4ANM23QTFT3WSEF3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":514670697,"name":"Sober","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/e54bd073223945789058a4f0788c8d81.png","unit_name":"Sober","fraction_decimals":0,"total":"780443365","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/514670697/","collectible":null,"creator":{"id":3441404995332024000,"address":"D73ENF5SH3YYVC2MF35BUYRLXO5KII7S2F3LPSDZQFAMIL3UAVF7WVQU2E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":522963891,"name":"AlgoPatties","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/c8002ac800a84eaa9f2a85a0256e1fdd.png","unit_name":"Patties","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/522963891/","collectible":null,"creator":{"id":3442079674617712000,"address":"7HXDPTUENSU564CR2B4ACTFWHFCJE6W7I57CMRKHJMXL72SN5RK2JCBNJE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":523605642,"name":"SeedBomb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/c2770ff652174ca7bae7113ffc7cb84b.png","unit_name":"SEEDS","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000003050616","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/523605642/","collectible":null,"creator":{"id":3441772521570359300,"address":"SVECSHKRCU3YSX2WJF53FXUTPU7FMAKSQ5WCSQILEGFOUXAAXPVR7ZR5EU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":523683256,"name":"AKITA INU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/26/420020ac77b64fa58847e418588ecc1c.png","unit_name":"AKTA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000644919686","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/523683256/","collectible":null,"creator":{"id":3442143362984500700,"address":"QUUQHH4HJ3FHUWMKTKFBUA72XTSW6F7YLLTRI7FWENJBKQYWTESSCZPQLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":527575200,"name":"Lofty 3435-3437 Alberta St","logo":null,"unit_name":"LFTY0105","fraction_decimals":0,"total":"5386","usd_value":"55.780000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/527575200/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":531777911,"name":"Lofty 3106 Quiet Lane","logo":null,"unit_name":"LFTY0098","fraction_decimals":0,"total":"2153","usd_value":"50.790000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/531777911/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542087210,"name":"Pact","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/2279e07dc2144ea6bbbd18e0ddcebeab.png","unit_name":"Pact","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542087210/","collectible":null,"creator":{"id":3430798490059611600,"address":"OA4KNWW3QKQAG6ICOVCTJ6OBKGVENLAQPREL5F5L5V5T3CBXADJQVDOASA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542132831,"name":"ASA Portfolio","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d03f245ded434aeb9c232a554e0146e7.png","unit_name":"APF","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542132831/","collectible":null,"creator":{"id":3442847774793053000,"address":"APFMUNO2LDZIKAJDRUFDQNADNOQYRLLBASKELIXRZIKTYSDQ2VO6EWJZ5M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":542874179,"name":"Freckle","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/07/025333ff5b8a42178775962893224924.png","unit_name":"FRKL","fraction_decimals":6,"total":"500000000000000","usd_value":"0.000022394471","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/542874179/","collectible":null,"creator":{"id":3443742221382765000,"address":"FRKLUVNAQGQBW6IB7RFV53LSHD4DHV3L2C3BLG3PMXVJKBVUWCSTQQ2IAY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":544217506,"name":"Spindle Yarn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/01/07/67dff76328f345af8687c1bbe5ef9329.png","unit_name":"YARN","fraction_decimals":6,"total":"100000000000000","usd_value":"0.001039372431","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/544217506/","collectible":null,"creator":{"id":3442084995654079000,"address":"ZPYPH6SGX6Z2RRPU3C6DIYAK6DCOEMSHUILB6LGSHCODMOSBKYK5UF24UU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":546354584,"name":"Trust","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/05/4648ee554b0d4c78827693f207596864.png","unit_name":"TRUST","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/546354584/","collectible":null,"creator":{"id":3441813046546392600,"address":"6MHGASWJFFMMMBS2VXZB6WPTLFCTJFNEURYC3EOW363JM32D5LWR7QRNUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":551031469,"name":"Aquarius Fund","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/17/214f6008691c4473833627b2403605e5.png","unit_name":"AQF","fraction_decimals":2,"total":"50000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/551031469/","collectible":null,"creator":{"id":3444573891569762000,"address":"7K7WKUEUCE2AWDGQG45JVHUDKNHYKWMHII6C2ULV4PO4OR5WZP74J2NHJA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":553615859,"name":"Alvacoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/03/73ec4cc395664dc29daa6c53f378c91c.png","unit_name":"ALVA","fraction_decimals":2,"total":"2400000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/553615859/","collectible":null,"creator":{"id":3438114803477852700,"address":"PACKHZVVUHKEWNR5W3JNZPKSQOKUUXN7DO7P5BT6KCLOTYY5ZN5NBF764U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":553656096,"name":"KarbonX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/16/fe362730851c4147a243b5e3323f044d.png","unit_name":"KBX","fraction_decimals":8,"total":"500000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/553656096/","collectible":null,"creator":{"id":3436476895651484000,"address":"YYXGNBKWCHWACPGEYPQSKGDSJ32NO3JJYGTAQDNGUGDWAEQ2GXR6RIHOJI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":554633918,"name":"Leaf","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/20/3f682ed16d67482daacee420f6088103.png","unit_name":"Leaf","fraction_decimals":0,"total":"4200000000","usd_value":"0.000004833395","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/554633918/","collectible":null,"creator":{"id":3442547824651461000,"address":"SZIK64PU6BVIEAEUM3F3E64DY5MPI2BFXC3R6JZ3KXQOMWMI5V77FXBT4Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":555540865,"name":"80Acres","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/836bcad954814a33beca0e2ac9764626.png","unit_name":"ACRES","fraction_decimals":6,"total":"8000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/555540865/","collectible":null,"creator":{"id":3442302972700519000,"address":"OCXJ7SGYP5TJXYEF537KYMXH7SAAAKDKXT5CTOXCE7L3OTZEFUVSOJNHNY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":555868957,"name":"Lofty 3493 W 119th St","logo":null,"unit_name":"LFTY0106","fraction_decimals":0,"total":"2258","usd_value":"46.930000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/555868957/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":558143260,"name":"Lofty 3634 Bosworth Rd","logo":null,"unit_name":"LFTY0107","fraction_decimals":0,"total":"10408","usd_value":"43.250000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/558143260/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":558978094,"name":"Vybe","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/27/776c4aeabb8f42858978361c25f404f4.png","unit_name":"VYBE","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000037288008","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/558978094/","collectible":null,"creator":{"id":3400121277356722000,"address":"YDCDHR2TAIOHZZ2VX4WHHJFFTAINPCO3HXCMQPTDAAZHIQR5YTWNQCKPKQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":559219992,"name":"Octorand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/3d737e8879c3429697ae90b1f0bd7578.png","unit_name":"OCTO","fraction_decimals":6,"total":"1000000000000","usd_value":"0.022106836010","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/559219992/","collectible":null,"creator":{"id":3445240692982327300,"address":"NP5K3WA5H6SBM36DJDZDMPFDVQPRIX6RAXNZ3H6EIC32K6C75YNAMM6Z44","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":560039769,"name":"Drakk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/b6ad30d8309d4fe5be7688301d9a2b54.png","unit_name":"$Drakk","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/560039769/","collectible":null,"creator":{"id":3445345047583997000,"address":"UXXYI4CPUIZ27UTWNL42VO7EG5LQGRQHLNKD2JIPVHEBZ7T7JXYOHAGW4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":567114163,"name":"Lofty 3178 W 41st & 9510 Silk","logo":null,"unit_name":"LFTY0108","fraction_decimals":0,"total":"3548","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/567114163/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":568879303,"name":"Karen Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/5e24239202344ddcbeec304c2d910480.png","unit_name":"KRN","fraction_decimals":9,"total":"999999999000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/568879303/","collectible":null,"creator":{"id":3446132415548011500,"address":"J6YN6JQ62PD5FQURILY53GZ7OWND7NPNPQ7BBZCE5TUJCQQGHW2OIUB54Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":569120128,"name":"AlgoScout Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/f339b006471443f982e3f5bb22dea3ac.png","unit_name":"SCOUT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000060767650","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/569120128/","collectible":null,"creator":{"id":3436666267603129000,"address":"EUTCNLFQVWU6VKWEAISWUQZKWRAMEUEZ3W5HO4QSCBCG2OEN4ANCAONMXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":575353596,"name":"Wageroo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/04/6bdcc2c6a6674baaa6bbc7565b8efbed.png","unit_name":"ROO","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/575353596/","collectible":null,"creator":{"id":3446686812466322000,"address":"S3RUG2SBMA6NRZKH5QHRQFDKVWNQAQERCQUFQGXK567YALQOSYGIOUOOJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":575358142,"name":"Wageroo DAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/14/f17efddcb49e4a929649919b5044c037.png","unit_name":"xROO","fraction_decimals":0,"total":"10000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/575358142/","collectible":null,"creator":{"id":3446686812466322000,"address":"S3RUG2SBMA6NRZKH5QHRQFDKVWNQAQERCQUFQGXK567YALQOSYGIOUOOJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":577176220,"name":"Trust","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/05/7a56cd69a4404f1ebd4dc9644ecda74a.png","unit_name":"TRUST","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/577176220/","collectible":null,"creator":{"id":3446851193803294000,"address":"WPOVFSJF44TXMPXF37CXW4FMWLJLY47NYW7GAUIP6I4GY2WFOV3H2BY77U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":579451052,"name":"Lofty 3850 W 17th St","logo":null,"unit_name":"LFTY0111","fraction_decimals":0,"total":"3334","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/579451052/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":581154878,"name":"Lofty 1845 W 48th St","logo":null,"unit_name":"LFTY0109","fraction_decimals":0,"total":"4430","usd_value":"47.970000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/581154878/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":583495589,"name":"Lofty 1174 Tampa Ave","logo":null,"unit_name":"LFTY0112","fraction_decimals":0,"total":"1887","usd_value":"49.610000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/583495589/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":593826822,"name":"MADIBA Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/27/a987e26d27144020b921a758ae486176.png","unit_name":"MADIBA","fraction_decimals":9,"total":"27000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/593826822/","collectible":null,"creator":{"id":3448360997724806700,"address":"RJD222IPKJMUHOTU3TTBCJGUKTQA5KEOSSD5H2GW2XMS42JDFJDTB4C7TA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":598341134,"name":"Lofty 1133 Bethany Ave","logo":null,"unit_name":"LFTY0113","fraction_decimals":0,"total":"1645","usd_value":"55.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/598341134/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":601894079,"name":"Dark Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/748c250e57f54d97ae062ea0d34c05ae.png","unit_name":"DC","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/601894079/","collectible":null,"creator":{"id":3426123588496844000,"address":"AL6F3TFPSZPF3BSVUFDNOLMEKUCJJAA7GZ5GF3DN3Q4IVJVNUFK76PQFNE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":602119108,"name":"Lofty 1090 Diagonal Rd","logo":null,"unit_name":"LFTY0114","fraction_decimals":0,"total":"1797","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/602119108/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":607120057,"name":"Arima","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/554df6e099a64cd1ad32fa873d5b10db.png","unit_name":"ARIMA","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/607120057/","collectible":null,"creator":{"id":3427800748700414000,"address":"O64DGIWBB4EMQBGDE6YDNSYO3LHTKG7NJORB7UATPRPU2OPIMEL3FVNTHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":607591690,"name":"Glitter Finance","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/03/31/f9ea6d6a95c449f4964bed2f6c532e2f.png","unit_name":"XGLI","fraction_decimals":6,"total":"125000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/607591690/","collectible":null,"creator":{"id":3449726104494162000,"address":"CHYCTAKOYI73E4BPZT44IDKERVRGBPJTCBWSUL7SYJKSC6RBZHBG5O72CA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":610886011,"name":"Veterand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/29/556839f2e2954686820dfc7041ca2f95.png","unit_name":"VETS","fraction_decimals":6,"total":"108000000000000","usd_value":"0.000221722076","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/610886011/","collectible":null,"creator":{"id":3450063961275745300,"address":"37XLB55H2J4RLP5G5CPARFFL4Q7NSG43KVXCIH4ARI6KXT6XL66IXVU7YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":612770026,"name":"Royal Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/26/b9a52e862a71456bb0fbbb7385eb18ef.png","unit_name":"ROYAL","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/612770026/","collectible":null,"creator":{"id":3450232615649699000,"address":"SRSHQTCLGD3QPORZ22T3LLFID5ZI3CV7K26XW7AQCOC5G5M6A6AQ3KMDWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":613608234,"name":"Orbital Gnome Strikers","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/2104fbb0baf541f2b42a309476ae7539.png","unit_name":"OGS","fraction_decimals":9,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/613608234/","collectible":null,"creator":{"id":3335622963868434000,"address":"5TOOCJSAZBPBV4LFH26JBJYPJXGQ4XCYAT44Z6ETZT6DHQIEIBTYBYW4CM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":624410813,"name":"Paint","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/04/6ca96a82993d4127bdf499bb1a6782a7.png","unit_name":"PAINT","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/624410813/","collectible":null,"creator":{"id":3451154653150603000,"address":"PAINTQ3GDTPI65SQU22GDABYVYGXUESB5GOFK5COUFRZPKXU7Q6FHUQRLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":627910594,"name":"ecostar","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/25/e261da8641494e4c8c7ca7bee2238e0e.png","unit_name":"ESR","fraction_decimals":4,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/627910594/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":628459294,"name":"ALGOESG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/21/5dd24bd8368448fd977bf75d125f0bf6.png","unit_name":"AESG","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/628459294/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":638273451,"name":"Lofty 7411 Elton Ave","logo":null,"unit_name":"LFTY0115","fraction_decimals":0,"total":"2464","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/638273451/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":638594993,"name":"KaniCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/08/d217f32b42e74093804e0f10eb97a5cd.png","unit_name":"KANI","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/638594993/","collectible":null,"creator":{"id":3452520187809582600,"address":"KANIU7774XFX3WKKWSCWKDPAAHU3EOBLQGZDRJVTAKUT5RGOK352WZG3HY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":639001259,"name":"SuperMeow","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/29/4942cae30acc4087b04836dc260ab964.png","unit_name":"SMW","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/639001259/","collectible":null,"creator":{"id":3452564827519330300,"address":"Z7WYVYWVHMWIRMELIQC52UOSP7U5IFNJL2LY46UEUQWKEUDKCA2LQS36DE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":639641542,"name":"Lofty 7480 Halpin Dr","logo":null,"unit_name":"LFTY0116","fraction_decimals":0,"total":"2410","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/639641542/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":640873368,"name":"Elephant Nips","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/21/1b72a675d1914b42934757d8c18aad5d.png","unit_name":"NIPS","fraction_decimals":4,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/640873368/","collectible":null,"creator":{"id":3420226833884530700,"address":"LWT6235B2XIVC3BB4ENQGD72S3QE5JJCWOZAUPBJ2PXPZGCAMXPFIG5UCM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":643125984,"name":"INNOVATION COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/8c9c58c3b255461c89bc290ca8a79b90.png","unit_name":"IVNC","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/643125984/","collectible":null,"creator":{"id":3452996143620953600,"address":"NSJ7GARXY7J67KK6OT6XCXIQC6QVOPQVN4HQDJCYTK7FNIURYCY64UMLYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":646502690,"name":"Lofty 15711 Grovewood Ave","logo":null,"unit_name":"LFTY0117","fraction_decimals":0,"total":"4125","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/646502690/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":648664981,"name":"Lofty 14320 Granger Rd","logo":null,"unit_name":"LFTY0118","fraction_decimals":0,"total":"3079","usd_value":"55.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/648664981/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":649973549,"name":"Lofty 640 N Cicero Ave","logo":null,"unit_name":"LFTY0119","fraction_decimals":0,"total":"10207","usd_value":"45.690000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/649973549/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":651739129,"name":"Lofty 656 E 126th St","logo":null,"unit_name":"LFTY0120","fraction_decimals":0,"total":"1722","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/651739129/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":656876671,"name":"Lofty 2082 W 91st St","logo":null,"unit_name":"LFTY0121","fraction_decimals":0,"total":"2724","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/656876671/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":657291910,"name":"CC Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/03/a6593ca2cb8a4d9db55ea500d9db78f2.png","unit_name":"CCT","fraction_decimals":0,"total":"600000000","usd_value":"12.105715353007","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/657291910/","collectible":null,"creator":{"id":3454539379898559500,"address":"AORTDA53YAXKOSEB4MGYKWQRENRD2CDECECYNJYUUNVLVQKR5AZYJGZKMM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":658399558,"name":"Poof Poof","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/19/83a056aa845348b58d3e3ea6476f2201.png","unit_name":"$Poof","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/658399558/","collectible":null,"creator":{"id":3454668203008814600,"address":"QFBUIUMCH6OZDNB7PQSFT7YNQJMSHWCLJ52UXZDGL6XUDUQVMQYUE6X4XM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":661277818,"name":"Lofty 8201 Madison Ave","logo":null,"unit_name":"LFTY0122","fraction_decimals":0,"total":"9694","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/661277818/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":664464508,"name":"Lofty Ohio 3 Property Package","logo":null,"unit_name":"LFTY0123","fraction_decimals":0,"total":"6762","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/664464508/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":665953422,"name":"Swiftcoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/07/e975a2948aa941aa9e21f89e1ef49c05.png","unit_name":"SWFT","fraction_decimals":5,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/665953422/","collectible":null,"creator":{"id":3435710578463853000,"address":"4YVYGOJKDIYRHUQ2JX3VE7UZETLR6FM7QK3RRQAU5QFIUOQDNW2TNZGPIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":670777243,"name":"Lofty 1773 Ball Rd","logo":null,"unit_name":"LFTY0124","fraction_decimals":0,"total":"1931","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/670777243/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":672810002,"name":"Lofty 621 E Le Claire Rd","logo":null,"unit_name":"LFTY0125","fraction_decimals":0,"total":"49760","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/672810002/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":672913181,"name":"goUSD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/06/cd72e5d58d9f4e199c23ba8060883d55.png","unit_name":"goUSD","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.003324617108","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/672913181/","collectible":null,"creator":{"id":3456326829105035300,"address":"PNC3CKZTHOIMGMSG7KPUCF3XA6ILZMBXMD5YVOBIWO2BJ43ZJ6M775JVRQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":674925395,"name":"Gradian","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/566380f5378e4ff796599f9b825aa30a.png","unit_name":"GRAD","fraction_decimals":5,"total":"1000000000000000","usd_value":"0.000004942286","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/674925395/","collectible":null,"creator":{"id":3456532255860458500,"address":"TJNVXDMVJN3BIBGNFF3BFKY3Q3M4CIDYFR6LYTETESUSHELVPMXVTRBVPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":679119565,"name":"Daffi Test A","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/d2269c6ab33b407fa0ec5943807c4693.png","unit_name":"DTESTA","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/679119565/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":680408335,"name":"bvALGO","logo":null,"unit_name":"bvALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/680408335/","collectible":null,"creator":{"id":3438188700995706000,"address":"3EPGHSNBBN5M2LD6V7A63EHZQQLATVQHDBYJQIZ6BLCBTIXA5XR7ZOZEB4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684201351,"name":"Respectful Development Daf 1","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d139388198fc4095b23954bcbee01dbb.png","unit_name":"RDDAF1","fraction_decimals":1,"total":"300000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684201351/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684477003,"name":"Lofty 809 Kenmore Blvd","logo":null,"unit_name":"LFTY0126","fraction_decimals":0,"total":"6076","usd_value":"57.240000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684477003/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":684649988,"name":"GARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/4f523b68851343648a8f3bf649f2b464.png","unit_name":"GARD","fraction_decimals":6,"total":"18400000000000000000","usd_value":"0.335300709749","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/684649988/","collectible":null,"creator":{"id":3457587546975675000,"address":"5ZWDKQVBJL6VHZIKXQOLRM37ZS4O5EFXTDT2DS7YZS6UY5KRS6OWSOZRXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686505742,"name":"Folks Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/b926e386fe3f407483dc404100d6ef2d.png","unit_name":"fALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.196463930449","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686505742/","collectible":null,"creator":{"id":3457791577778044000,"address":"AV6PFVXWDQ7RVNQYOEXCWXCLXVJ5V57WVMVQZ2TWH4EKTB7GSWKUIAUPXQ","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686505743,"name":"Folks Rewards Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/84f1956601d7480e9e651c978a7c6e09.png","unit_name":"frALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686505743/","collectible":null,"creator":{"id":3457791577778044000,"address":"AV6PFVXWDQ7RVNQYOEXCWXCLXVJ5V57WVMVQZ2TWH4EKTB7GSWKUIAUPXQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686508050,"name":"Folks USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/1453ffaba1c6485387809cc4464b09d4.png","unit_name":"fUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.124169304547","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686508050/","collectible":null,"creator":{"id":3457792007657474600,"address":"ILER7WB5L46KQ5XV4QXT2WLWV4OOVDKSOEK6PSJ5YQYNQ6ZFRM2SJH54UY","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686508051,"name":"Folks Rewards USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/2e78844669aa42a9bb92fed29ad12aac.png","unit_name":"frUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686508051/","collectible":null,"creator":{"id":3457792007657474600,"address":"ILER7WB5L46KQ5XV4QXT2WLWV4OOVDKSOEK6PSJ5YQYNQ6ZFRM2SJH54UY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686509463,"name":"Folks Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/0c6d4ef38b224670a1775587b5b97803.png","unit_name":"fUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.036611901798","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686509463/","collectible":null,"creator":{"id":3457792236619059700,"address":"CO73GSVE53EEHFAKFTVKIJKKYZ52SJ24EJUKCH5ZUMHVIQYLAT7W5QQ2Y4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686509464,"name":"Folks Rewards Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/2db3008b2907445b873473be29d68b29.png","unit_name":"frUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686509464/","collectible":null,"creator":{"id":3457792236619059700,"address":"CO73GSVE53EEHFAKFTVKIJKKYZ52SJ24EJUKCH5ZUMHVIQYLAT7W5QQ2Y4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":686510134,"name":"Folks goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/a42fc2490e5e4964bbb50e062ecb07de.png","unit_name":"fgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":"83810.754960881777","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686510134/","collectible":null,"creator":{"id":3457792347131332600,"address":"GE5UOI4HKMMEEV2Q4X2OOTOOMBI7XCYROUZ5RDQEUC5WJ62NXNTB3NVVOM","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":686510135,"name":"Folks Rewards goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/159c5f270bae41758706d2840a899b08.png","unit_name":"frgoBTC","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/686510135/","collectible":null,"creator":{"id":3457792347131332600,"address":"GE5UOI4HKMMEEV2Q4X2OOTOOMBI7XCYROUZ5RDQEUC5WJ62NXNTB3NVVOM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":688540506,"name":"EXTREMELY BULLISH.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/04e9796c983b4b83b95e0d7acdc159ce.png","unit_name":"XBULL","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/688540506/","collectible":null,"creator":{"id":3429065283998512000,"address":"BUAIHS5TKDEGASEFBSZT7AQAA2UY5C6WXI6DDV3423MEIH3VYMRK5S2R4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":689171215,"name":"Doubloon","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/d140814071cf474683d722787706d4ae.png","unit_name":"DUB","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/689171215/","collectible":null,"creator":{"id":3458168158208809000,"address":"NEX7N2U36UHBTRHJA4T3WEOOGYMPXL56ICNO4CCJAJBYFJSA7PZJU33H7U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691139538,"name":"Lofty 723 12th St","logo":null,"unit_name":"LFTY0127","fraction_decimals":0,"total":"2995","usd_value":"51.110000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691139538/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691727565,"name":"MXNc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/04/59f1feae17cb4ffcb3ec4aa09f665946.png","unit_name":"MXNc","fraction_decimals":2,"total":"1844674407370900","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691727565/","collectible":null,"creator":{"id":3458520148399915500,"address":"FUJRXM3BO7ITQPJUQ5Q3RDJAQPEGWLPDS2UUOBRC4GCC2XJXA5RTVRVM6Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":691916156,"name":"Carpet","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/28/9ec0ea998bbd4d599cd0862bc2112a49.png","unit_name":"GSD","fraction_decimals":6,"total":"420420000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/691916156/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":692083444,"name":"Sigma Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/02/1f305bef6c3c48b2b8215920080f4695.png","unit_name":"SIGMA","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/692083444/","collectible":null,"creator":{"id":3458569267468095000,"address":"S7HV644NYMZXVIXWREZFLNUQC5ECBFDV3T7JRAE3SEWBUHHT3HHU4NMV4Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":692584955,"name":"Lofty 9902 Garfield Ave","logo":null,"unit_name":"LFTY0128","fraction_decimals":0,"total":"1836","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/692584955/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694067049,"name":"Lofty 1015 Wycomb Dr","logo":null,"unit_name":"LFTY0129","fraction_decimals":0,"total":"3095","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694067049/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694408528,"name":"Folks goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/bb8b35598508405a9380577068ab0714.png","unit_name":"fgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":"1629.058926305822","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694408528/","collectible":null,"creator":{"id":3458879967974990000,"address":"7LPNIZUPBUUSIEJ5GLYUAYOUQ4RH2K3AEPKVM7RAXHPVVKB447WELWJWRA","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":694408529,"name":"Folks Rewards goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/6046fa6038964118a65be4ff84c16dd0.png","unit_name":"frgoETH","fraction_decimals":8,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694408529/","collectible":null,"creator":{"id":3458879967974990000,"address":"7LPNIZUPBUUSIEJ5GLYUAYOUQ4RH2K3AEPKVM7RAXHPVVKB447WELWJWRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694432641,"name":"Governance Algo 3","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/233cc34a664f41999a02e86550715510.png","unit_name":"gALGO3","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.185257751214","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694432641/","collectible":null,"creator":{"id":3458884814856320000,"address":"4STYTA6TLA2YIPVDX6CAGFD3I6FOAUFXEXVY4C6SAFF4GU557OENP5JBJM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":694474015,"name":"Folks Governance Algo 3","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/b839e91c64d345d0b6717c43a8bc3c1b.png","unit_name":"fgALGO3","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/694474015/","collectible":null,"creator":{"id":3458892616162087000,"address":"OOQXOIN4RSNF6KHYTEEAYJ33R4F6GI5D5L2XMFPP2PBKNDQAP5ILMZIKE4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":695242274,"name":"Lofty 1432 Sara Ave","logo":null,"unit_name":"LFTY0130","fraction_decimals":0,"total":"1950","usd_value":"51.640000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/695242274/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":697325251,"name":"Lofty 10724 Gooding Avenue","logo":null,"unit_name":"LFTY0131","fraction_decimals":0,"total":"2501","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/697325251/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":700965019,"name":"Vestige","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/32888fb065e142729433936ca513dfb2.png","unit_name":"VEST","fraction_decimals":6,"total":"100000000000000","usd_value":"0.012438924168","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/700965019/","collectible":null,"creator":{"id":3459837858715650000,"address":"VESTIG3V77NNVBT5SM636UKAZ3M5OQHM76TC5622RQ4Q2XUCYZ5E4ENB3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":701498055,"name":"Lofty 12507 Astor Ave","logo":null,"unit_name":"LFTY0132","fraction_decimals":0,"total":"2453","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/701498055/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":702835587,"name":"Lofty 432 W Peebles Rd","logo":null,"unit_name":"LFTY0133","fraction_decimals":0,"total":"2032","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/702835587/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":706533341,"name":"Lofty 254 Bowmanville St","logo":null,"unit_name":"LFTY0134","fraction_decimals":0,"total":"2108","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/706533341/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":708906045,"name":"Lofty 1248 S Keeler Ave","logo":null,"unit_name":"LFTY0135","fraction_decimals":0,"total":"8780","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/708906045/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":710256863,"name":"Lofty 799 Stadelman Ave","logo":null,"unit_name":"LFTY0136","fraction_decimals":0,"total":"2391","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/710256863/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":711241814,"name":"Lofty 918 Frederick Blvd","logo":null,"unit_name":"LFTY0137","fraction_decimals":0,"total":"1560","usd_value":"52.440000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/711241814/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":712012773,"name":"Cometa","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/09/b1ae6e5300ca467eb1eae867632c49c9.png","unit_name":"META","fraction_decimals":6,"total":"10000000000000","usd_value":"0.002931453119","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/712012773/","collectible":null,"creator":{"id":3461662235754823700,"address":"META7MPEWTCOJMCIWNDLRWQABIC2LGUPJ4MHQYRA2YMI4FKJCMDCAUD5PU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":714763450,"name":"Commie Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/16/2989be6443784c10a20d9c72cc726a99.png","unit_name":"COMMIE","fraction_decimals":3,"total":"3000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/714763450/","collectible":null,"creator":{"id":3462198354349745000,"address":"FM3AZXOCIVXVSOKY7JDXWS5LIPYRX22PI53TTKILOCUEOVTQ35VNHJURHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":714773890,"name":"Ghost","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/14/d3f7e776882e4e3287f09ab9813c3ee7.png","unit_name":"GHOST","fraction_decimals":4,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/714773890/","collectible":null,"creator":{"id":3462204273731623400,"address":"GHSTY64WGZU3UN33N7LZWCWL4V5QIBI4ODUS3CMHCNQ5JRWB7HOF2WG5JY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":715111483,"name":"Lofty 3933 Walsh St","logo":null,"unit_name":"LFTY0138","fraction_decimals":0,"total":"2056","usd_value":"50.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/715111483/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":715627769,"name":"UpsideFinance rewards token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/30/5e06f1bce33a48399fd45bfbf1aede40.png","unit_name":"rUFt","fraction_decimals":2,"total":"4000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/715627769/","collectible":null,"creator":{"id":3462370716693895700,"address":"23LZXF45UBHC6SRY4WVFJG35GDBN7IO5K6IEC6P6XENFPFXMAIYM2FFAG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":716444460,"name":"JOURNEYMAN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/04/27/ce83ce1f092b45e1b3ea882a521b30a4.png","unit_name":"JMAN","fraction_decimals":0,"total":"10000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/716444460/","collectible":null,"creator":{"id":3452372111145689000,"address":"IABBK7MMB7HWFLTWAYTNF6JFDGSJXLNVDYJXYYZDJKPDFRJG5WOD2YQQZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":717117066,"name":"Lofty 614 E 97th St","logo":null,"unit_name":"LFTY0139","fraction_decimals":0,"total":"2624","usd_value":"50.410000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/717117066/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":721954274,"name":"Lofty 883 Alhambra Rd","logo":null,"unit_name":"LFTY0140","fraction_decimals":0,"total":"2501","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/721954274/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":722082439,"name":"Glazed","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/24/103ec845f35e42d0961e4826ac7edbe8.png","unit_name":"G","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/722082439/","collectible":null,"creator":{"id":3463472693113427000,"address":"L3SHGR4FUV2E3W326JHKYLN4WLRWCLUC2GDMOJJ62LT5NJACRH43MSBCOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":722955559,"name":"DeCHO Loyalty Token ASA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/06/570873e159dc4d6884f886bb05adb7ec.png","unit_name":"DeLTA","fraction_decimals":2,"total":"3000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/722955559/","collectible":null,"creator":{"id":3463615455930420700,"address":"2C3NUOT42VZ7NULPZSNAHUH27O7EGGGJAGSCBQ5C4ECNTLQE5X4BRJEMHU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":723519637,"name":"Lofty 1848 Baldwin Ave","logo":null,"unit_name":"LFTY0141","fraction_decimals":0,"total":"2359","usd_value":"52.170000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/723519637/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":724480511,"name":"Algodex Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/18/6bb1a11e0baf4de0ad0ee26542f22e47.png","unit_name":"ALGX","fraction_decimals":6,"total":"6000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/724480511/","collectible":null,"creator":{"id":3463848896696475000,"address":"KD4C65WJYNZIOEOYYUXHYDVVMLSRDCEVCC6LJD7X4A7MHCV4S6U4Q4INRU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":726778924,"name":"Feet In Feet Ass","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/30/747d8ec205df44ecb112481023ab7484.png","unit_name":"FIFA","fraction_decimals":6,"total":"420420000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/726778924/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":727929695,"name":"USDE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/11/c8ef16984c504c169c86eb5eecf1124d.png","unit_name":"USDE","fraction_decimals":2,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/727929695/","collectible":null,"creator":{"id":3458192822996417000,"address":"KME7XKE44NQ6DCNZCSYNHPCUJ6XZYD4X3DVNKLQSWANX33R43HYSRJS7VE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":729369978,"name":"Fuji LNG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/d96b9b832e374a7eb508d2991eb89e32.png","unit_name":"FUJI","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/729369978/","collectible":null,"creator":{"id":3458170520024182300,"address":"CJRBE2WM7S4FOBCIAZ7HN7VPMO5NTS5H2YOE5ORBC7H524K2TUDVSMOOPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":737045660,"name":"Hoxo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/15/e2a8c051d48d41df8a0bd9e75abdf300.png","unit_name":"HX","fraction_decimals":10,"total":"750000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/737045660/","collectible":null,"creator":{"id":3465103255044450000,"address":"4PYKZXOWB7SKOYENYALBVMD5RRPHXF5NBVQXYAHARJ46VJQ4U7E4V6AAHQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":739680855,"name":"Lofty 5401 Odom Ave","logo":null,"unit_name":"LFTY0142","fraction_decimals":0,"total":"11877","usd_value":"51.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/739680855/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":743695671,"name":"Koala Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/20/ecd2be71e5dc4e9abb567f955b0c4598.png","unit_name":"KOCO","fraction_decimals":8,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/743695671/","collectible":null,"creator":{"id":3465982402112699400,"address":"45EIT7MXKPUICMHZN4WZVHIPLUGK5MVR2YOPZMXVQRJ4XJRJO5MUC7OHVI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":744665252,"name":"pTokens BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/22/d9b8fcbeec324b6c9cd9cec139d59664.png","unit_name":"pBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"44902.876354127751","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/744665252/","collectible":null,"creator":{"id":3466129025551063000,"address":"GRUMBUH3QPDPKMOBKHTC76LF3SK4S4B2HFUIQXDMY3GIKXBT6ZR7Q43UZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":745410378,"name":"⬤━⬤━⬤","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/09/06/9edddd5cc2184740a0cdf992f4d28877.png","unit_name":"algodots","fraction_decimals":7,"total":"2760000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/745410378/","collectible":null,"creator":{"id":3425793835585799000,"address":"ZNUJKWPCXNO4OROKDJEL6T3N6AO3J6GYINELU3BS3CUEA3SCXC4ZPGZJGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":747635241,"name":"Day By Day","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/23/5a0a22a6f4674e8fa6c3a62309a9e8bf.png","unit_name":"DBD","fraction_decimals":6,"total":"10000000000000","usd_value":"0.002419872992","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/747635241/","collectible":null,"creator":{"id":3466601130188137000,"address":"7PZPNF4FEHPYHURHTQDKGVCQBSBQWR6RKSMKEWJDYXW3QWTQ7XF6OCH56Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":751289888,"name":"Folks PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/41fc87dbfa0f4b3182f794e18ce16f3e.png","unit_name":"fPlanet","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.000027935514","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/751289888/","collectible":null,"creator":{"id":3467220790815896600,"address":"ZPC33CGUNQW4TTCMPYFXPGP6PMDKZJ3TR6ICACJS3A5YMKB5VBIBKYTIJ4","is_verified_asset_creator":false},"type":"dapp_asset","category":null},{"asset_id":751289889,"name":"Folks Rewards PLANET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/c45fbfade31848c384096bf782bd3a5d.png","unit_name":"frPlanet","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/751289889/","collectible":null,"creator":{"id":3467220790815896600,"address":"ZPC33CGUNQW4TTCMPYFXPGP6PMDKZJ3TR6ICACJS3A5YMKB5VBIBKYTIJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":753137719,"name":"ButtCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/14/4709763d14714a0d834e86b0d5d10bf3.png","unit_name":"Butts","fraction_decimals":0,"total":"1000000000","usd_value":"0.000047069480","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/753137719/","collectible":null,"creator":{"id":3467492643320674000,"address":"WPSXMTO4XMC7FXMQ2N6F4DWGJGY3WWUPJJEQTT45ELSFRPJG2BWVFGVKN4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":753890862,"name":"Prisms","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/06/e2118f8a29274c0294660609878dd2a1.png","unit_name":"PRSMS","fraction_decimals":0,"total":"11000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/753890862/","collectible":null,"creator":{"id":3431544393913249300,"address":"PRISMGW7ORL7FKVRJRI6BQYAPSDMU64723AKULZ37SV6W4DS3IGBP4QTLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":754051439,"name":"Lofty 4551 Sunny View Dr","logo":null,"unit_name":"LFTY0143","fraction_decimals":0,"total":"1950","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754051439/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":754411575,"name":"Mona Lion","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/65afd9c6a9114e1b88f6b695b7b23b0c.png","unit_name":"MONAL","fraction_decimals":0,"total":"22","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411575/","collectible":{"title":"Mona Lion","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/4bb6e3e989ea4654b667edfda2b431b7.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411575/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411576,"name":"Mona Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/893aa5994fbf47d588e1988616ede035.png","unit_name":"MONAO","fraction_decimals":0,"total":"4","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411576/","collectible":{"title":"Mona Opulous","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/dd49d2a9471d482b85a6eff23e4b74b9.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411576/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411577,"name":"Mona Pink","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/cde71e5832a74998a8f1518982d2d5ec.png","unit_name":"MONAP","fraction_decimals":0,"total":"100","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411577/","collectible":{"title":"Mona Pink","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/191d81913dd74fd39a96ea838861c9a4.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411577/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754411578,"name":"Mona White","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/90d889ac6027487d94b67154fc9037a3.png","unit_name":"MONAW","fraction_decimals":0,"total":"733","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754411578/","collectible":{"title":"Mona White","standard":"arc3","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2023/06/27/818796dcdd3a4d52b41fa393323aca69.png","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/754411578/","collection":null},"creator":{"id":3467755594036670000,"address":"3B4APXPZPMV7M7LLW4HQREQORY6LBKGI4ZNRM44UGI7JVC6RTHN4R2TE3E","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":754859229,"name":"Egha'S Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/27/94fc1c3bd18d467580b90d575c1ca0db.png","unit_name":"EGHAS","fraction_decimals":6,"total":"1500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/754859229/","collectible":null,"creator":{"id":3449531857706583600,"address":"ZVWBJI5Y3NVF4UBCVNEM2KIUZWVESAVLSPPPPTGWEJJHEM7IROJQ2XT4UM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":755027431,"name":"🏡 ESTATE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/02/f3639c55b40241b295e931fd17b69c41.png","unit_name":"EST","fraction_decimals":8,"total":"5000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/755027431/","collectible":null,"creator":{"id":3467103793268314600,"address":"ZXWJAW52VXTGKTTGT7D24HBMYXB7MIQJERVAX7UPFBQ7ZCM7JCXTEL4SCI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":755988202,"name":"Technosplurg","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/04/8d27fc5865f945a8ab81bdbb8dee9894.png","unit_name":"TCSPLRG","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/755988202/","collectible":null,"creator":{"id":3467880892396428300,"address":"GL6YZ4VD7SPABSBQDSVXZDLKB3I7DUVTOVTIFENVYEKP4M4RLLMR62IKZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":756578163,"name":"Moist Grannies","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/18/6697ea8246014324a5e9498258dbf2f9.png","unit_name":"MOIST","fraction_decimals":0,"total":"69000000000","usd_value":"0.000000062874","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/756578163/","collectible":null,"creator":{"id":3467905326052691000,"address":"CBSN7BZX4EBE3JBHDH6WXI56MSUPUBVMYRRBGGOXZU73GJ7FKND6HNOSUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":757039174,"name":"X","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/05/31/def1265a0f444261b6846a6541c3e0f3.png","unit_name":"XTEND","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/757039174/","collectible":null,"creator":{"id":3468109414950566000,"address":"4VLPUMZ5CPPGAGAB25Q4BI3IUMVU3J2OTSDNZKAZHH7FIBLUDGTXSV64YA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":758090502,"name":"PeliCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/01/4e02c7f9a51447809f470e076478278b.png","unit_name":"PLCN","fraction_decimals":0,"total":"20000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/758090502/","collectible":null,"creator":{"id":3468181151338406000,"address":"XDHKYPX7PD3DECCFZOZLRT6LJVM26WKIHAJWJIOERXQLK5WK2DFZJSYLR4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":760037151,"name":"xUSD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/30/0220a2bac233429c9c89147156f68981.png","unit_name":"xUSD","fraction_decimals":6,"total":"18446744073709551615","usd_value":"0.969555472543","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/760037151/","collectible":null,"creator":{"id":3438329826210025500,"address":"GYGNWIEHFJ2XRJGCZNV2NIHHLMP7TQJU73NGWBAAKHMNAJAMCYW4VR6E3M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":760111092,"name":"Lofty 3427 Sturdevant St","logo":null,"unit_name":"LFTY0144","fraction_decimals":0,"total":"2024","usd_value":"50.620000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/760111092/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":762747160,"name":"Doggy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/07/daba4fe5584b495fa8e782a9f7c6132d.png","unit_name":"Doggy","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/762747160/","collectible":null,"creator":{"id":3461279933363721000,"address":"6ZMZWEC2S5QYH76GZ2AGYLEZWHVACXDHSDZQ6CZLMHITGYRPUYNJ4KUPH4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765000179,"name":"Lofty 1584 Hampton Rd","logo":null,"unit_name":"LFTY0145","fraction_decimals":0,"total":"1874","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765000179/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765171236,"name":"Heepow Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/27/e3e6a6ba64f34307aff17600e840ec2d.png","unit_name":"GRASS","fraction_decimals":8,"total":"100000000000000000","usd_value":"0.000021017930","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765171236/","collectible":null,"creator":{"id":3469361944761917400,"address":"7OI3Y3EKJH34XDHIPJSCYJTU5GKY4SMA7GUAQ5EIRCVWYUZ7PYQHJVWIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":765668483,"name":"Meh Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/38f71610c1524bd5b15ef2b216609742.png","unit_name":"Meh","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/765668483/","collectible":null,"creator":{"id":3383507716004036000,"address":"ZCGAOA2KG3EHWIUKDR5UZEIR3GZADXAZI4UYDWNOS5RINTZUG5Z57NFNEI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":768368477,"name":"Lofty 703 23rd Ave","logo":null,"unit_name":"LFTY0146","fraction_decimals":0,"total":"1783","usd_value":"49.650000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/768368477/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":769679594,"name":"Lofty 1106 29th Ave","logo":null,"unit_name":"LFTY0147","fraction_decimals":0,"total":"1868","usd_value":"46.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/769679594/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":770563646,"name":"Did An Oopsie","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/08/d635de1d75a94199ada61c69ef3e61d0.png","unit_name":"DAO","fraction_decimals":3,"total":"420420000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/770563646/","collectible":null,"creator":{"id":3429926804817627600,"address":"5AAAMVCIMDKRVD5LYCPDQIARP6LIL4XN5D5LYOFJUNCLKRDRDKTGPBPCLE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":770865636,"name":"Lofty 4183 E 146th St","logo":null,"unit_name":"LFTY0148","fraction_decimals":0,"total":"1939","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/770865636/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":772180213,"name":"Lofty 3541 Oregon Ave","logo":null,"unit_name":"LFTY0149","fraction_decimals":0,"total":"10454","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/772180213/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":773336712,"name":"Lofty 1236 W 7th St","logo":null,"unit_name":"LFTY0150","fraction_decimals":0,"total":"1667","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/773336712/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":773632446,"name":"ASAinvestor","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/13/2be9c9fada614afb8ce8e114c53f755f.png","unit_name":"ASAi","fraction_decimals":3,"total":"250000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/773632446/","collectible":null,"creator":{"id":3470640759851514000,"address":"ASAIWCUH5Z6JVPRQBAHZTNCOLWHSMNB2UKDDYO4PNGTGSI5YMEJZ4BKI5U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":774347071,"name":"Lofty 209 E 13th St","logo":null,"unit_name":"LFTY0151","fraction_decimals":0,"total":"1559","usd_value":"51.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/774347071/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":775399960,"name":"ruggies ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/15/e8f6402e0ce9471f8f8cdc0d3c4a1711.png","unit_name":"RUGS","fraction_decimals":7,"total":"4200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/775399960/","collectible":null,"creator":{"id":3470958563857295000,"address":"ZXTXGZBR3K4HJ6SEHPXB7A25MWUKL72EBXP7A7HGB5RYUPTPL37XQAZ574","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":776678944,"name":"The Mexican National Peso","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/18/4f78b8b49f9e4c8c8733c0de3899eff3.png","unit_name":"PESOS","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/776678944/","collectible":null,"creator":{"id":3469622177923670000,"address":"E2FRD2EGVGCKST3XEIYQYKHKNYXXQNFARUO35QVSIFNABBK63Y2NJGCOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":776845434,"name":"Lofty 3531 Oregon Ave","logo":null,"unit_name":"LFTY0152","fraction_decimals":0,"total":"5109","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/776845434/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":777668262,"name":"Ol Dirty Bitcoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/02/45f1671a71f94686b824df3aabc65f35.png","unit_name":"Dirty","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/777668262/","collectible":null,"creator":{"id":3470313011908675600,"address":"QFJOEIG3BESAEEYZOALINCM3KUEDSRFXPB2D5JH56P4LDZM7U6O4ITGT6A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":777747959,"name":"Love","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/ab1d2f0bacef4113b9384e7ae87b5023.png","unit_name":"INLOVE","fraction_decimals":2,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/777747959/","collectible":null,"creator":{"id":3471246625297819000,"address":"YXP2YNJAQ4JUZHHFLH6LTRFUYX6MSGPVIN7COYCB25OQVMKJEUQ2AF5DLA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":778730364,"name":"The New Musician","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/20/b4072e1070b04acdbbc54706acab3b73.png","unit_name":"MUSIC","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/778730364/","collectible":null,"creator":{"id":3449531857706583600,"address":"ZVWBJI5Y3NVF4UBCVNEM2KIUZWVESAVLSPPPPTGWEJJHEM7IROJQ2XT4UM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":779159551,"name":"Lofty 12627 Franklin Blvd","logo":null,"unit_name":"LFTY0153","fraction_decimals":0,"total":"6837","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/779159551/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":781289536,"name":"Lofty 615 Rose Ln","logo":null,"unit_name":"LFTY0154","fraction_decimals":0,"total":"1626","usd_value":"49.160000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/781289536/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":781829486,"name":"AQA.EARTH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/04/648a6b23919b498faa0b15699d2d4767.png","unit_name":"AQA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.004327792304","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/781829486/","collectible":null,"creator":{"id":3471964001509901000,"address":"EARTHAICLIKK2IX7LILQNAI47O7LUL67SXALB3XSQNADHPZYC64U4YEYRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":782285248,"name":"Xoge","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/18/d9cbecd8def748edb0949b051c7f5ad2.png","unit_name":"Xoge","fraction_decimals":0,"total":"200000000000000","usd_value":"0.000000000055","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/782285248/","collectible":null,"creator":{"id":3464839633380328000,"address":"UE7L3H5HGCVRRC3XGNPL3JG4G24L5JPQCOFU6DXSYZWN22DRYSTM5T5WEQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":783066499,"name":"IceVolt Clean Energy Credits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/06/8060ab302687427a9a7815e1c5b29ab1.png","unit_name":"ICE","fraction_decimals":4,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/783066499/","collectible":null,"creator":{"id":3453503684617311700,"address":"6F5OPQGYR5ND4MMQCTAH6X46NPX76BSV6W4DRMNCGVAEGNPFRR3OTJRDTI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":783214523,"name":"Lofty 1234 Itin St","logo":null,"unit_name":"LFTY0155","fraction_decimals":0,"total":"6148","usd_value":"47.500000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/783214523/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":784533078,"name":"Lofty 26931 Shoreview Ave","logo":null,"unit_name":"LFTY0156","fraction_decimals":0,"total":"2684","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/784533078/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":785583551,"name":"Lofty 566 Nash St","logo":null,"unit_name":"LFTY0157","fraction_decimals":0,"total":"2071","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/785583551/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":787168529,"name":"Grub Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/3b2d8ce7614a41e08c514fd1764824c4.png","unit_name":"GRUB","fraction_decimals":0,"total":"69000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/787168529/","collectible":{"title":"Grub Token","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafybeib3i5h6o3d5r5ifpk52re4fuoczj2cwcgxmyiqenshfn2tmca6thi","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/787168529/","collection":{"id":3495534120166187500,"name":"Gekofam Community Token","description":"Grub Token is the native ASA for all things Gekofam. LFGeko!"}},"creator":{"id":3472727810814567400,"address":"GRUBUZUWHKSIR2UOS4OM3GCSRQZ4V7B5NKF3NEEZ2LZJJ6VLB5R5YWFW4I","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":787358534,"name":"Sheesha Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/23/c177ca82ecfa42db98cb3a49f565d742.png","unit_name":"aSheesha","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/787358534/","collectible":null,"creator":{"id":3472897648975463000,"address":"X2KMFZOC5HLOU4JU5S5HRJPMDDCPZIIUTBNEQVTE5LULET2O6YSTXR75MI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":790088226,"name":"Lofty 296 Huntington Ave","logo":null,"unit_name":"LFTY0158","fraction_decimals":0,"total":"2051","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/790088226/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":790704501,"name":"roobies","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/29/a35e67910c644b3289039da6fcff765a.png","unit_name":"ROOBZ","fraction_decimals":4,"total":"4200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/790704501/","collectible":null,"creator":{"id":3473351595398847000,"address":"QSKM4D2WUROWEJPEELZCTKSAIC5X3RV4VC577KLAHORNDHFUN4Y5X2PDOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":792313023,"name":"Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/11/ce59c84249c24138830b3ff942233dbd.png","unit_name":"xSOL","fraction_decimals":9,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/792313023/","collectible":null,"creator":{"id":3473946901697748000,"address":"U4A3YARBVMT7PORTC3OWXNC75BMGF6TCHFOQY4ZSIIECC5RW25SVKNKV3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":793124631,"name":"Governance Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/06/30/5bb49032e46e49999f2cb391f0fe05fd.png","unit_name":"gALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.185997385132","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/793124631/","collectible":null,"creator":{"id":3474124369191585300,"address":"GGP73AZM3CMLDLXUDVR2NIULL3M7SORSI4N7DFIOZTVL62UOVSQUTZYEA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":794509175,"name":"AI ALGO Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/23/e88ac3a3bc974124b833939544851690.png","unit_name":"AIAL","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/794509175/","collectible":null,"creator":{"id":3472932865038180400,"address":"JQMQOJKXJ5IMEBZB4I7WMEPM5AOE7PRG4SK4M5IVSYRMJL7IGXLD7SHD3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":796425061,"name":"Coop Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/12/fe7bbc6e1dae4d25b3d634b82880a018.png","unit_name":"COOP","fraction_decimals":6,"total":"20999999000000","usd_value":"0.015972170339","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/796425061/","collectible":null,"creator":{"id":3474759295718555600,"address":"YJB66DHOF37G53G2B6PUTYOUSBEWIP2SHBFUCRMI35YDCIG5FYVXCTI7AE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":797722803,"name":"CCER Digital Carbon Credits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/27/9dd7f31f049d4a8599357c043ea1815c.png","unit_name":"CDCC","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/797722803/","collectible":null,"creator":{"id":3458170520024182300,"address":"CJRBE2WM7S4FOBCIAZ7HN7VPMO5NTS5H2YOE5ORBC7H524K2TUDVSMOOPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":798651566,"name":"Lofty 542 Sumner St","logo":null,"unit_name":"LFTY0159","fraction_decimals":0,"total":"2736","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/798651566/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":801784818,"name":"Sovrgn Games Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/15/88e9288c1e14407aa05b053e598ce933.png","unit_name":"SGT","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/801784818/","collectible":null,"creator":{"id":3432694266418891000,"address":"S4YFP2U4CBZMDX7V3PMJGODRTUQKVB2YAUYJNLFVNVOE3UDRV77SRDWI4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":805675250,"name":"CONTRACT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/17/96eadb5ef2cb426fbb40e31433c750ae.png","unit_name":"CONTRACT","fraction_decimals":8,"total":"5000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/805675250/","collectible":null,"creator":{"id":3476280894876196400,"address":"TNKXDR75CRXAF4PU5GON56FVOZQGFXPLAG3QDGCKFCGP6PV47AN47C4MS4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":805862344,"name":"NovAu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/24/705310ba1ef949f68dbb8703b6e3c55f.png","unit_name":"NAu","fraction_decimals":9,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/805862344/","collectible":null,"creator":{"id":3476304648359248400,"address":"5ACGPWDDQ3ZRYPZLPPI4WL7WOB3P6QHHS55P6ZHVUGMRE23X7PC5BXSS4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":806008728,"name":"AlgoNews","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/13/b1c57bb4945e4e038e5915f1511a728b.png","unit_name":"ANEW","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/806008728/","collectible":null,"creator":{"id":3432285969121790000,"address":"3IR6NVDEYX34VPLY3PXBR6BLGLI3CGBXFVJRCSLVRYJE6JPD7I4LVPX6XE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":807691608,"name":"DLDH Trading","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/28/be863843578743349e9ce714bf0b5f88.png","unit_name":"TEAR","fraction_decimals":5,"total":"70000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/807691608/","collectible":null,"creator":{"id":3476564998068249600,"address":"4CNH7VXGE4HWB2TWFMOY2TLSUDJXD2DR2GDLQDH2X6YUQRAPPCZ54CXNCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":808769893,"name":"Ice Cold Beer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/17/a9cf26656ab245849e2d013abb195a4e.png","unit_name":"ICB","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/808769893/","collectible":null,"creator":{"id":3380713695766260000,"address":"V4ULMD6VHAP36VSZBBNN2RC5Y4OJF7PQQG6QYR52XUZ3ZXD4FJ5PCFHDWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":808825661,"name":"Wrapped ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/03/f545af1e32f248cfbbef91f64349c23c.png","unit_name":"WALGO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/808825661/","collectible":null,"creator":{"id":3476802508536428000,"address":"D3DLZFBUJFMJZK62AUMJQKSWKPQ6H3DSU7AAOFS72MBVGOMFXSG4W57RBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":810972054,"name":"AQUA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/10/f69d3ea9d0834e9588526d1de721bae0.png","unit_name":"AQUA","fraction_decimals":0,"total":"80000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/810972054/","collectible":null,"creator":{"id":3477039064211596300,"address":"AQUATWFP7G4Z2ESS5V5JFM2Q7UI26WIXUCRLVPGITIYOBMS2Y4RQ75MDAI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":811721471,"name":"Experience","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/10/11/a26da3af714a40e8bad2b29a6dfc4655.png","unit_name":"EXP","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/811721471/","collectible":null,"creator":{"id":3477408888809350700,"address":"ORDER4VZTADPQQF6RCLUH32PA2DNG2MXONJGBFHSYSGAH2QG3FWDENBYWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812158311,"name":"USDeezNutz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/31a85581223e496d830b1755a2469635.png","unit_name":"USDN","fraction_decimals":2,"total":"694206900","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812158311/","collectible":null,"creator":{"id":3477476941181222400,"address":"UDNYL3ZP4RJCYNFBUZDB4DBOYPCKXF3DE2ZI6H4EOKGURJEAMZLWXW5EXY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812910314,"name":"Soya","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/7a69acb0eef54fb88e66f4b4e531f205.png","unit_name":"SOYA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812910314/","collectible":null,"creator":{"id":3477616162996892700,"address":"BCA246OZWLCLHODEU2HWJUQRDULA4J3F2HWSGXWJD2I57664IHMEAKF46M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812914898,"name":"Cora","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/9aeb202a56c74b8d9d409f443cbd705b.png","unit_name":"CORA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812914898/","collectible":null,"creator":{"id":3477617231019199000,"address":"XAB3MGA43HS4TM6ZIGIGFGGYJREXTRFB4OCTBUX5VQND2R475S23GUYWZA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":812917109,"name":"Whea","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/be105269e6454c8b813a63b1256eebcd.png","unit_name":"WHEA","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/812917109/","collectible":null,"creator":{"id":3477617839258715000,"address":"F4RFBEAHJWK54MNWKFWLVWMWZDGWKOTBWIOYVCJSAAQRPMZ3NKKPOC4TCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813100557,"name":"Lofty 13806 Coit Rd","logo":null,"unit_name":"LFTY0160","fraction_decimals":0,"total":"1971","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813100557/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813116645,"name":"Lofty 142 13th St","logo":null,"unit_name":"LFTY0161","fraction_decimals":0,"total":"2770","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813116645/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":813745845,"name":"Discair","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/04/30dc5a63280e4e18b07e518889b4fb2c.png","unit_name":"DISC","fraction_decimals":5,"total":"1321199300000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/813745845/","collectible":null,"creator":{"id":3477780142757775400,"address":"GJY4UPLEUVPIA3CAONWEKOV2EY3IYR4KOCKYGLJR5RLSXJO6FHH75M4TWU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815075619,"name":"Lofty 9710 S Avenue L Ave","logo":null,"unit_name":"LFTY0162","fraction_decimals":0,"total":"10484","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815075619/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815485910,"name":"Soyb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/bf99c19eff6d4f3b93ae01205e5e77b0.png","unit_name":"SOYB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815485910/","collectible":null,"creator":{"id":3478127848047674400,"address":"PBQF2IDSOIPVRG2PVYW7AJO4MPTXBQR2R5TNUOMQ54EYFGI7DE5QLFRZXM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815487451,"name":"Corb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/987ae42476e348529f3f53b1315993b0.png","unit_name":"CORB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815487451/","collectible":null,"creator":{"id":3478128201329927700,"address":"PDXDTONOJKLYF6YRJW27OCNCRVXI5KD4DNDAYAV5ULAUM3OAIJWOCUD4QM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":815489844,"name":"Wheb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/07/22/dae7d4852293404186a3660ee6c53f6b.png","unit_name":"WHEB","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/815489844/","collectible":null,"creator":{"id":3478128707518287000,"address":"TZAYLYV5JBWQ7IUAHEBLQ6D7CIM4GR7MLPYPHU5V4TSDYRWUP2PYIKVLUQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818179690,"name":"AF-BANK-ALGO-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/0ccd15ed00ca47328dccc18c254c8a6b.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818179690/","collectible":null,"creator":{"id":3478697138034723000,"address":"A3SPTZUKQS53TPM5UHXIZMNUJYCZ4YAKJBFWW2U7ZSUG5AP5JJRVTG5D64","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818182311,"name":"AF-BANK-USDC-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/edaff434e2c148089601737cc92a31bc.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818182311/","collectible":null,"creator":{"id":3478697751196750000,"address":"YJ3KDILKFWHWU4QFNBMR2V7HHVGIXPPZDTM37GG3P66ZA4OYQVIJS55XRU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818184214,"name":"AF-BANK-goBTC-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/31a27667b8d54d57ac2c49dc0e30124d.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818184214/","collectible":null,"creator":{"id":3478698167901341000,"address":"Y2X3FH3JZVDGFTYHHCQ7IKY44344Q7BKJ7MRQRLORQWCDRXYKEWDDAUVYY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818188553,"name":"AF-BANK-goETH-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/818b7010360c4693a4c43f4fce31adf4.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818188553/","collectible":null,"creator":{"id":3478699101444460000,"address":"GPX4QUSFS7F5OSKTUQQP7PTL27KI3VJWQQBK2DI53GT5RJPPEGTISMFJ7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818190568,"name":"AF-BANK-USDt-STANDARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/2af7f90d92fe4e418675bb7570e5c568.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818190568/","collectible":null,"creator":{"id":3478699589217228000,"address":"UBVMHRP2CRNARNDOHHCZCRLF5CZ2LPONDOYTHOTA7F2DRYUYW57TR7C3II","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":818432243,"name":"Dharma Network","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/21/354fc2b80758461c9417ca234ac6cc10.png","unit_name":"DHARM","fraction_decimals":8,"total":"2100000000000000","usd_value":"0.034329473290","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/818432243/","collectible":null,"creator":{"id":3470106956748918300,"address":"MVQB37HQTMB4QODRL4MQITMIOOK6CXZQO27ZEU72FZKUKJL33M3MFF3T3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":819609796,"name":"Lofty 783 Leonard St","logo":null,"unit_name":"LFTY0202","fraction_decimals":0,"total":"1661","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/819609796/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":820574818,"name":"Meta Music Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/3ce7ab9ad9ef1d78866f30bb66504832f4d4e35b.png","unit_name":"MMT","fraction_decimals":4,"total":"330000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/820574818/","collectible":null,"creator":{"id":3444573891569762000,"address":"7K7WKUEUCE2AWDGQG45JVHUDKNHYKWMHII6C2ULV4PO4OR5WZP74J2NHJA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":824643542,"name":"OrganizovanýXaoc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/03/4bece31ea1a149a3ac164d98af4d4a3b.png","unit_name":"XAOC","fraction_decimals":3,"total":"600000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/824643542/","collectible":null,"creator":{"id":3432198019412592000,"address":"X4O7NNVFCZQPJCERHLMWFDW43ZQRSXBC7442YSY24WEBJRXMS5DRMGYX4A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":828794714,"name":"ThankYou","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/28/7226a7382a904b3b8af1a41ac30bb9db.PNG","unit_name":"THKU","fraction_decimals":6,"total":"90000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/828794714/","collectible":null,"creator":{"id":3480372291140140500,"address":"MLTKFFEJYQ5E32VLNSYNEORPY4ZMCIDN62ADUXCJEZDEAE72KAJK35OSOA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":829992960,"name":"Bartle Doo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/23/66a3d4ef9bb242068463ada0443bcecc.png","unit_name":"BD","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000038375046","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/829992960/","collectible":null,"creator":{"id":3480577152903851500,"address":"7BNBVHRGCKIQUIHQOEDK4CQ3UESRJFAHHJKF4LQ57XXTJOWMTMBDEKXTVI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":833815143,"name":"Cook","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/15/4e51d7c380a24c428778954c99ca65b0.png","unit_name":"COOK","fraction_decimals":0,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/833815143/","collectible":null,"creator":{"id":3481291590496456700,"address":"654D7GDBMZGBC4FG4MZUPG3VU2I46LNVVLQL7BNT6IHAPQS4M3Z5YPJ2Z4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":834658869,"name":"Lofty 4408 17th Ave","logo":null,"unit_name":"LFTY0163","fraction_decimals":0,"total":"1610","usd_value":"48.510000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/834658869/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":835509686,"name":"TateCoin ASA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/21/af718273ab1149a8b61feb70dfbf84c3.png","unit_name":"TOPG","fraction_decimals":0,"total":"26626262","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/835509686/","collectible":null,"creator":{"id":3460133359111870000,"address":"QWNFJNA6JHN6TQFBIYF666LXOHG52FJ3ES67L7GL5FLKBMYPKO6PXJ7I5U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840192844,"name":"Soyu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/567161211f67404fba3331f28912017e.png","unit_name":"SOYU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840192844/","collectible":null,"creator":{"id":3482491021228482000,"address":"4JBIAFOQQM2MEOX3Q4BML6R7XRWNM5GTJKAEV7CSIIZCEIB46LTUBNUQOA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840195963,"name":"Coru","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/2f6957cacf1a42eb9076635686e96f28.png","unit_name":"CORU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840195963/","collectible":null,"creator":{"id":3482491622615378400,"address":"HUKY72FR22P2YG2KONPVZKLLWLF4X6XWJ2DTH2ICPHL2RTAFY4XHZYOZBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":840198271,"name":"Wheu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/02/07afb91f14f5452291c87216f3c7cf29.png","unit_name":"WHEU","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/840198271/","collectible":null,"creator":{"id":3482492059169235500,"address":"FRTHKO6JJSB2TKQIFXDODXJA2VIP2OIRGJHUM4JJFWUUY2ZOUH2Z2WLUIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841126810,"name":"STBL2","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/icon-2.png","unit_name":"STBL2","fraction_decimals":6,"total":"1000000000000000000","usd_value":"1.599290250280","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841126810/","collectible":null,"creator":{"id":3482671748071651300,"address":"2SK7Q3S3OAKDTNEA4GGBGSVUPERADQGTJ5GPVF4IMTQKI2DGHHRVLS3TLI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841157954,"name":"AF-BANK-STBL2-STABLE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/b0645f4d217d442cb5b66a0d209ad35f.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841157954/","collectible":null,"creator":{"id":3482676885810894000,"address":"AY4WNUDHKIS7Q4WNF2RUYQDJN3WY5D57UOBRSFZTLJ22ZXGNMMJ6GC4XZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841462373,"name":"AF-BANK-AF-POOL-LP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/09/16/3e1b2db47b1f45b3b071470140cf58b7.png","unit_name":"AF-BANK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841462373/","collectible":null,"creator":{"id":3482719192563932700,"address":"A5NNMCRFCHG7RJKIP3SJAVDXJOQWX6J5Q6YT54AMBC2U4BTXQ7GO67YP4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":841565461,"name":"Lofty 566 Sumner St","logo":null,"unit_name":"LFTY0237","fraction_decimals":0,"total":"2385","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/841565461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":844772414,"name":"Polymeta","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/15/a2f87ea5ba314352a3621126d699f132.png","unit_name":"GROW","fraction_decimals":0,"total":"1000000000","usd_value":"0.000002941539","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/844772414/","collectible":null,"creator":{"id":3482574255468352000,"address":"5DTOHFDMQOADZVWIE25CPB4R7CZO75TXM7KWLXM7DBW5UV7AQQVWG6EH4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":846652486,"name":"Ders Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/25/a8ea2fe1bcd549a9b55445584c3fc895.png","unit_name":"DERS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001156779","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/846652486/","collectible":null,"creator":{"id":3391199482899115500,"address":"OMHDKCZHDVZWF5WDEUV3T5JVH6UXG2THD26GT62M2VZOWVYN24YAONWUAE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":849191641,"name":"Hesab Afghani","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/25/7ef84712cefa4dbe9ff9e95dfb129ad3.png","unit_name":"HAFN","fraction_decimals":2,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/849191641/","collectible":null,"creator":{"id":3484038800349902300,"address":"P5VB5V7PE7455UHXZBQ67LR37URRJYPGWNM5GU773FCLJY4EM55YO47QTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":856503101,"name":"Early Adopter","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/08/31/7c0b3641a86f43e78dd6f9ab299ac0c7.png","unit_name":"VYBE EA","fraction_decimals":0,"total":"504","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/856503101/","collectible":{"title":"Early Adopter","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmPK9kFP4ZJ1EGitiDjMzveYSd3u8GPY3esVVsveMQN8EW","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/856503101/","collection":null},"creator":{"id":3400121277356722000,"address":"YDCDHR2TAIOHZZ2VX4WHHJFFTAINPCO3HXCMQPTDAAZHIQR5YTWNQCKPKQ","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":860192439,"name":"Green Earth Blockchain Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/03/64348cb1928149838024dbd3d47c0510.png","unit_name":"GEBT","fraction_decimals":8,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/860192439/","collectible":null,"creator":{"id":3485917502943739000,"address":"LCANL253XDRQ7UGOKZDT3QQYPXHN5HVCNXS3THYN6LX2VRHZHQQ3NFAWTQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":864635185,"name":"ViiKoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/30/239ad30236724ab8a516488e285f6b4c.png","unit_name":"VKN","fraction_decimals":0,"total":"92100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/864635185/","collectible":null,"creator":{"id":3485738300800196600,"address":"6JJRTHY7E65N4KOF6K2VKDMMXEMZSKH5KSHO6BXCZTUUTGTZNOHXZNDPVY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":869882680,"name":"HUG Agency Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/13/de669958911c473dabc55ccbd9f9cc17.png","unit_name":"HUGtoken","fraction_decimals":6,"total":"150000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/869882680/","collectible":null,"creator":{"id":3487556521637291500,"address":"UXEDDO2CFFRYG7RE4FMMEEZ4IEPKAVX5IDMR5AUMN7D6VAO2MIOVH43XO4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":871660982,"name":"WittyCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/25/66c961c43a0141cc84341fc85282bd00.png","unit_name":"witty","fraction_decimals":2,"total":"33334000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/871660982/","collectible":null,"creator":{"id":3399499106887557600,"address":"HSC4FTJJYYT6RGWR6QZG44B3NHRNHOIRZXYX2RL4KBPV47KED3MTUUBK54","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":871930188,"name":"aNoir","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/15/6459353d70c84f688f144c87a2e0ae32.png","unit_name":"aNoir","fraction_decimals":6,"total":"120000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/871930188/","collectible":null,"creator":{"id":3443500667830712000,"address":"PZHE2W4FQAQC53VI5375GRBIH4OBNXBNNQRCCW77J3KIJFN3D3PA7B5X5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":874710054,"name":"Beryl Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/22/f50dc6dddf4d4e99894751f5e1bfca2c.png","unit_name":"BRL","fraction_decimals":10,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/874710054/","collectible":null,"creator":{"id":3484141086633330000,"address":"L7EEJOKTOPAJ5KDLXCW4LV3KTRCQAUZ2UZGBJY2J5EMW64ZHLUOT633Y2Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":877703456,"name":"AlcheGold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/23/6ac773a5ff5546eb979e497b338da25e.png","unit_name":"AGOLD","fraction_decimals":4,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/877703456/","collectible":null,"creator":{"id":3393385476150878000,"address":"OJGTHEJ2O5NXN7FVXDZZEEJTUEQHHCIYIE5MWY6BEFVVLZ2KANJODBOKGA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":882856729,"name":"Lofty 8401 Lydia Ave","logo":null,"unit_name":"LFTY0211","fraction_decimals":0,"total":"3774","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/882856729/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":885835936,"name":"MembersOnly Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/ea1976281d914edfa9f51cf9f93c9428.png","unit_name":"MemO","fraction_decimals":3,"total":"1000000000000","usd_value":"0.000044028763","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/885835936/","collectible":null,"creator":{"id":3486913053188163600,"address":"3W3BITROHTZYFCEUSFS2MFAP5RV7OO3FYVA3GBYFUTMA6UJ7HSOBRRRXNI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886409525,"name":"Guardians","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/09/30/69592c43fd3747c89da319bad61f093f.png","unit_name":"GUARD","fraction_decimals":6,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886409525/","collectible":null,"creator":{"id":3490283777019653000,"address":"OQHHRNGDXMXTTLQXU54TGGT2AMF7PVSVOM3QTBGXBXY6HFJXDOADCWGVPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886452112,"name":"Takos","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/7c0d557adf69483390e84546aee060b6.png","unit_name":"TAKO","fraction_decimals":6,"total":"180000000000","usd_value":"0.005735151288","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886452112/","collectible":null,"creator":{"id":3490290823506571300,"address":"6CKBGMR4NYXXB7UCH77MFR6IHJTMMJLCY6DE4NR3Z7MKH4NPWORFQ4MFO4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":886638002,"name":"Lofty 110 Gardengate Dr","logo":null,"unit_name":"LFTY0218","fraction_decimals":0,"total":"6645","usd_value":"49.080000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/886638002/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887406851,"name":"Wrapped Ether","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/22/9b4009084e964f2ba031b45875400b9c.png","unit_name":"WETH","fraction_decimals":8,"total":"18446744073709550000","usd_value":"1625.214792678371","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887406851/","collectible":null,"creator":{"id":3482845202834208000,"address":"GRH5NFD3A5YZT4IYUVSKGY7X4ZFR4O7FD47PJBHVAXSZ2ZHTJRJD5COPQY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887407002,"name":"USD Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/8dc8afcacd08442f98c55486fa71e6c1.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887407002/","collectible":null,"creator":{"id":3483661505467675600,"address":"BDAMMNG3PAP3TAV3VUXIQEZWZ6NTN45TLPPAPOUEK4V6MUQIRHIBHZAQ5Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":887648583,"name":"Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/193cf84939a541f2b0393f3e77abcc63.png","unit_name":"SOL","fraction_decimals":8,"total":"18446744073709550000","usd_value":"132.347777362719","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/887648583/","collectible":null,"creator":{"id":3490504734917274600,"address":"IGMTJTPMXURMBEX3J43DH2SVIGZYM73PF3RDDA4PYDXQLCCUGNQLJJKDR4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":891226062,"name":"Coo-Coo Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/13/1de48c3b0179431da4d887658476afc2.png","unit_name":"COO","fraction_decimals":4,"total":"200000000000","usd_value":"0.001497665296","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/891226062/","collectible":null,"creator":{"id":3491157684906260000,"address":"DV3YODLY7GX4KGEKBCQNLBQMEYGZ6EUK4C5N35EJ3BMETDRBGRMZ4I7XYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":891648844,"name":"Wrapped BNB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/eb4ebf036a2b4fc6b3488f7994594d2e.png","unit_name":"WBNB","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/891648844/","collectible":null,"creator":{"id":3491236992259960300,"address":"CRFNJX6KBDBUEHKLTXHPWOAKKCW6YN6IE6GJCARH5IPHJTUXM4UN5KLRA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":892383554,"name":"AL-D Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/25/647c6effe0ef40e5bf90607064dab532.png","unit_name":"ALD","fraction_decimals":6,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/892383554/","collectible":null,"creator":{"id":3491366469375157000,"address":"BTSKPDJRQI7T34OGY2H5WONKUEZMV6MVCF4OCLF3HN36VGME7TEREXZELM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":893309613,"name":"Wrapped AVAX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/14c0bf0d537745798b2932f6422db6f5.png","unit_name":"WAVAX","fraction_decimals":8,"total":"18446744073709550000","usd_value":"19.925289503175","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/893309613/","collectible":null,"creator":{"id":3491535295809217500,"address":"FPFVGQQWLQJNTJIHMAVFGMCGV4FVO654DHUWQCF2XXBPYHNO2YGRJGWFZQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":893504888,"name":"Tether USD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/9c9f24a4eb444869808bafb5f16ee7d3.png","unit_name":"USDT","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/893504888/","collectible":null,"creator":{"id":3483665205483030000,"address":"D22I22SHAKZAE46BTXRN2IEBT75RHL7QT36BLD24QWRULOYE246YQP6HRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":894441297,"name":"AssCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/25/be19c252acb34aa4a7da3d3e72e0632b.png","unit_name":"ASS","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/894441297/","collectible":null,"creator":{"id":3491709755010559000,"address":"YCKYKNSGWBCTUPOZXS6PCFAZ3OVBL5LBH5F4BXREKCYNHV24267IK3ONPY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":894817444,"name":"Lofty 927 Euclid Ave Apt 10","logo":null,"unit_name":"LFTY0263","fraction_decimals":0,"total":"9558","usd_value":"52.950000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/894817444/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":897632162,"name":"Sparkle Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/f88abdad22234e4e881c208e40831d13.png","unit_name":"SPK","fraction_decimals":2,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/897632162/","collectible":null,"creator":{"id":3492301231319416000,"address":"OI2HMMB4CGG5ZZOAYRSCJYE2CX2VRCX4G6WOYKWIHW4GGXZ4DYRFWSCIJI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":897649551,"name":"Denarii ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/10/15f8a8f6cdbe47c891f56a932f7f2032.png","unit_name":"Dfi","fraction_decimals":0,"total":"900000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/897649551/","collectible":null,"creator":{"id":3491362199590327300,"address":"OYFFXVHQXTRWRKBAMVD6OS4YMD2BE4MZGCCYKZ5SHOE3VF6A7QBRIMABXU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":900652777,"name":"BANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2022/10/12/8ff698b822e048b79052137445767290.png","unit_name":"BANK","fraction_decimals":6,"total":"5000000000000000","usd_value":"0.000032217033","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/900652777/","collectible":null,"creator":{"id":3492812165527792600,"address":"E7JYBAQXE2FIY442YBYFJIYWMDVYHRDRSQ2Y4HFSWM5STJC3KOX7C26RBM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":900942105,"name":"Lofty 2515 Coronet Dr","logo":null,"unit_name":"LFTY0236","fraction_decimals":0,"total":"3834","usd_value":"49.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/900942105/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":901634764,"name":"PUPPIT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/17/3e35a3c8404a4718aa8e2dfc3441e9dc.png","unit_name":"PPT","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/901634764/","collectible":null,"creator":{"id":3472469463765492000,"address":"PUPPIT2GZMS5WU6KGD7QVATUDIXXSC6VVMRDPTC2EE65FAW6O3D5TXFSZA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":903033821,"name":"Lofty 1420 Brookhaven Dr","logo":null,"unit_name":"LFTY0206","fraction_decimals":0,"total":"6396","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/903033821/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":904674650,"name":"Flood Rake","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/20/3fb41d92baac4730a159fa35dfcc57f2.png","unit_name":"FLRK","fraction_decimals":2,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/904674650/","collectible":null,"creator":{"id":3493514420970548700,"address":"65WDBMOW27SH6MH4GPYMETLBHJSQ2GVAOTGEZCBA4B2GLCNWPMTDYEBZLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":905108030,"name":"WILD Community Card","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/04/eceda2287aac404298f2604aa93e3258.png","unit_name":"tokens","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/905108030/","collectible":{"title":"WILD Community Card","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmNSMQbdwQMZNhyC3seNCXWCXnUZuwYRLQmDYqvGg3pUSQ","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/905108030/","collection":null},"creator":{"id":3493613007305677300,"address":"WILD3MYMQWRS32QPZHJYYWE4TD4YHDLSASODYJILO2RMIZJI52NXL3AUXY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":906662995,"name":"Dossa Coin ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/20/9f64171f5ea64a79933eba22207edb40.png","unit_name":"Dossa","fraction_decimals":0,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/906662995/","collectible":null,"creator":{"id":3421298576625696300,"address":"JI6SLLEG7IGSPCG5KRZ4RX73LVOSYH56UBLKWZSMIWHTAFZUYKNMWGQIJE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":913799044,"name":"Dossa Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/23/7e3bbe6ea6dd4afe815cb436eb1bd6ed.png","unit_name":"Dossa","fraction_decimals":0,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/913799044/","collectible":null,"creator":{"id":3494989843702516700,"address":"VYMFKLSAUS24I2ALE552KW22XXKDRSYW3ENIFFRUEKJFSZCZOPEX6XCY7Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":916591005,"name":"S-ALGO-$0.27-2022.11.24","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/26/43dc070f2eb34057a0dfc545edbffd9b.png","unit_name":"SILO","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/916591005/","collectible":null,"creator":{"id":3495243536873138700,"address":"QUSJR6VZLYDUBY5KOG2ELKUBMIUF4O5AJITS3F2M6LXLFFLZI3HH7YLZQM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":919889450,"name":"press.algo Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/27/9dacb21f8193471bb1dfc20976cbd285.png","unit_name":"PDAT","fraction_decimals":4,"total":"140000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/919889450/","collectible":null,"creator":{"id":3484456348222479000,"address":"4NTTXZ4KEELWIMZHM4KFS4SGPRHSA6XZ5LJ65HFC5FT7BJSM2IWREQYMSA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":922346083,"name":"Nimble","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/04/6b0ae9dfca7a485dbfa4ff8e572634bb.png","unit_name":"NIMBLE","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/922346083/","collectible":null,"creator":{"id":3467588673575903700,"address":"6W5X5GJVGXBO6BBXESQRRN67HQDKYMKRFPB2DHQOBHP7ZGTCVXXXXBXETY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":923640017,"name":"Indoor Air Quality","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/10/31/ebfd9f5398794b8780e57906c434e102.png","unit_name":"IAQ","fraction_decimals":2,"total":"100000000000","usd_value":"0.000944303324","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/923640017/","collectible":null,"creator":{"id":3496119513842050600,"address":"PZOBS6NE3DSHY3TGDZ26LRLXS6TEJTPWES4PPWKDL7LRHT3Z44ARC26A7Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":924268058,"name":"FrysCrypto","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/18/7a46619b1eb648d9a2d68f017df3123c.png","unit_name":"FRY","fraction_decimals":6,"total":"8000000000000000","usd_value":"0.000023423608","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/924268058/","collectible":null,"creator":{"id":3496067542025451500,"address":"V6SGZIWO6OAKUTKERDUFACQBPXMGPCNGEYMUANHRZA475YONW5B4BBLVL4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":933973163,"name":"AlgoMonkeys Banana","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/30/4ba823aff8564f13ae7638290d4acc90.png","unit_name":"BANANA","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/933973163/","collectible":null,"creator":{"id":3494116250517579000,"address":"QNQRC2X7YOUNPASP45PMJWVN7SDYUWLN4WAGCQ3L62WCBJODTMSRGURSCY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":934478981,"name":"OPPORTUNITY CRYPTO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/25/80b79af12fd7493cb22c797d2cabffcf.png","unit_name":"OPYX","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/934478981/","collectible":null,"creator":{"id":3497152342103489500,"address":"O2PWEUVVQCGIRQ627K5PH65JZP3PVFS7VR64S45BTEZZ6NPH47BAU3YU2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":940424110,"name":"Game Master Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/27/d5ee03f91c194855b61062c70a6f80da.png","unit_name":"GMT","fraction_decimals":0,"total":"1000000000","usd_value":"0.000366492342","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/940424110/","collectible":null,"creator":{"id":3403295013098008600,"address":"6BFBZWZTL23IHAW5KH4L2SP42XRJ74DXYKBRE6ERTKP3XLQTOQQEOXL5CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":940635002,"name":"Opulous Vault","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/21/c82f28bbc4ca441f876482c37f1dd16d.png","unit_name":"OVault","fraction_decimals":4,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/940635002/","collectible":null,"creator":{"id":3498433904022731300,"address":"R57VNIKENGZVGROIC2VFQX3PXA2IDRHX7PMZT3LNCIB23NTK3L3NSIK5OQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":942870784,"name":"AlgoStar","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/22/68951b39d5a547d18b58d4eeff49fb7a.png","unit_name":"STAR","fraction_decimals":2,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/942870784/","collectible":null,"creator":{"id":3432425846017933000,"address":"YOCENWZN37BM4TDV727S2GE6GL5UMAJPCWCTOVYNICRDG24Y6PWV3I3XME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":942958458,"name":"Omnicoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/11/13/a098f0d991fd42938603e18c5a89799c.png","unit_name":"OMNI","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.000002381397","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/942958458/","collectible":null,"creator":{"id":3498798212233333000,"address":"F3ASUI5GS5J36UTM7UEICQ55GZIIJATKC7RVJRC6E7B4MOLX7HSBR5PRDQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":946763820,"name":"VALIDITA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/21/b0f424ab1bcd4119adf17193782458fb.png","unit_name":"VALIDITA","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/946763820/","collectible":null,"creator":{"id":3499373263061153000,"address":"XEORAKAQ4Y65WHM5GWCIHGZQSN2BJBIEZ4MOU3QL7IKYC7GDZS4NLSTAUE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":947923645,"name":"XListUnicorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/02/02/803e1da0070c4c81ae6f0bbf8a4758af.png","unit_name":"XUT","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/947923645/","collectible":null,"creator":{"id":3494118474139994600,"address":"YQDNHAZHJ7OG76VIC23U4XFOU3R3QW7SMNV6YDE52O6Q2J4NPDCNN7T2YU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":951243359,"name":"Digital Planet Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/24/ddb5bc27d79549cb873445fbf1aa6ed7.png","unit_name":"DPL","fraction_decimals":8,"total":"888888888800000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/951243359/","collectible":null,"creator":{"id":3491366469375157000,"address":"BTSKPDJRQI7T34OGY2H5WONKUEZMV6MVCF4OCLF3HN36VGME7TEREXZELM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":954185193,"name":"Lofty 323 E 9th St","logo":null,"unit_name":"LFTY0220","fraction_decimals":0,"total":"2653","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/954185193/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":955551813,"name":"Lofty 1315 E 114th St","logo":null,"unit_name":"LFTY0300","fraction_decimals":0,"total":"2346","usd_value":"49.210000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/955551813/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":957484854,"name":"deathOS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/13/a249774aeee2413db93a7d1ec69c462b.png","unit_name":"DEATHOS","fraction_decimals":8,"total":"6399999900000000","usd_value":"0.000030939484","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/957484854/","collectible":null,"creator":{"id":3485077640635987000,"address":"UFE4HN3YA7ZQW64NMY7VP5N6ULYY766XZMVP2NCQNWQVWHAUOTUXAUEMTE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958277442,"name":"gmtCOPPER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/dde159aedb2b4ad097bf5578a6f3202a.png","unit_name":"gmtC","fraction_decimals":0,"total":"10000000000000","usd_value":"0.000000009992","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958277442/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958278659,"name":"gmtSILVER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/86fda6b510e445d68097645a554d5183.png","unit_name":"gmtS","fraction_decimals":0,"total":"1000000000000","usd_value":"0.000000097685","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958278659/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958279733,"name":"gmtGOLD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/7081a7bd1cfd40ddafa0df39da877f40.png","unit_name":"gmtG","fraction_decimals":0,"total":"100000000000","usd_value":"0.000000983750","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958279733/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":958280887,"name":"gmtPLATINUM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/32ef9820fc8847a98f3d22aae59879b3.png","unit_name":"gmtP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000010120283","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/958280887/","collectible":null,"creator":{"id":3501169240348479000,"address":"ATR62HRKRW7XXBTXNWFADQQMAHD632PPIQ5XUKOCPFVT4YEJXEXNSI5LYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":960593591,"name":"Lofty 594 Columbia Ave","logo":null,"unit_name":"LFTY0301","fraction_decimals":0,"total":"2473","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/960593591/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971381860,"name":"Folks V2 Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/13/0dfe26bf265a4556b2e67bf3a244f280.png","unit_name":"fALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.210953095721","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971381860/","collectible":null,"creator":{"id":3503326647810909700,"address":"2ZPNLKXWCOUJ2ONYWZEIWOUYRXL36VCIBGJ4ZJ2AAGET5SIRTHKSNFDJJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971383839,"name":"Folks V2 Governance Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/19/519c04ef7b044d00bfed0d624ffae8d4.png","unit_name":"fgALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.187186210000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971383839/","collectible":null,"creator":{"id":3503327015390600000,"address":"YVIEGXMJYLVJPVHDU4W6VPKRLVTNR66FLFV54AGJ3KXTAW4FIDJOYUMCXM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971384592,"name":"Folks V2 USDC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/cc19aa59ef064e4fa4f63c96aba9d369.png","unit_name":"fUSDC","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.153574903705","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971384592/","collectible":null,"creator":{"id":3503327179361756700,"address":"MIHR7TQMMH2J6Q7PFQQEP7AAPVWPGNMPDKI2WDYDTM5P3RNKPD6X4UXG6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971385312,"name":"Folks V2 Tether USDt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/7c40b7c7c9bc42c5947baa7bf26907fa.png","unit_name":"fUSDt","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.150919510000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971385312/","collectible":null,"creator":{"id":3503327313927685600,"address":"HONE5UB5XL2AKARPJ2FBJMEQ3KD2JRNZQ4MTVXWIWTIC6JDNE6QW2TXVKU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971386173,"name":"Folks V2 goBTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/9ed91a8336534544a5b58e74b9e991ea.png","unit_name":"fgoBTC","fraction_decimals":8,"total":"2100000000000000","usd_value":"84222.601608326143","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971386173/","collectible":null,"creator":{"id":3503327468784321000,"address":"TO56M4DLPYEHBWGFOTG55EE7CNQCJ7RYZECTWY4G7XG6LGHGPXCV4CI7MM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971387073,"name":"Folks V2 goETH","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/17/025b1fc8f2844c9c987778d0bd1688f6.png","unit_name":"fgoETH","fraction_decimals":8,"total":"15000000000000000","usd_value":"1634.999386824370","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971387073/","collectible":null,"creator":{"id":3503327625840763000,"address":"3DSRBNSMEK7RR7M7SWRIK5QWGITNM7ZFUJOPPGWM3NPOPO4EQRHRSUXHL4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":971778590,"name":"Lofty 1339 E 115th St","logo":null,"unit_name":"LFTY0304","fraction_decimals":0,"total":"2969","usd_value":"49.150000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/971778590/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":977618990,"name":"Ownify Currency","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2022/12/16/15697de4ea7d4f50864a7abb17abba3b.png","unit_name":"OWNI","fraction_decimals":6,"total":"150000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/977618990/","collectible":null,"creator":{"id":3504656923359796000,"address":"5XBARMJGP3QRLFZSSEDK7P2S7SJFOR6GBBX4YFF5XM6DRTKIQOM5RZVO2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":977638343,"name":"Lofty 5133 Dresden Ave","logo":null,"unit_name":"LFTY0309","fraction_decimals":0,"total":"2329","usd_value":"49.150000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/977638343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":984814367,"name":"Lofty 6746 Westwood St","logo":null,"unit_name":"LFTY0307","fraction_decimals":0,"total":"1604","usd_value":"49.190000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/984814367/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":987374809,"name":"The Legend Projects","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/09/cd0049377afc45ef9a46ad475dceadbc.png","unit_name":"TLP","fraction_decimals":2,"total":"100000000000","usd_value":"0.010231415763","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/987374809/","collectible":null,"creator":{"id":3425818926855773000,"address":"MOL3TBPQ2L74D5JGWEW362UQRCBOBZCVXZGOFJIR36GUBLKXDNIGW6VCTU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":994035569,"name":"Netfluids","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/23/abb93c2a292f460db81b80573fd457b0.png","unit_name":"FLDS","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/994035569/","collectible":null,"creator":{"id":3502200575325747000,"address":"GLKPZLQEX3EU7XYUKZOUCFAECE4DZCWFHZZAQDX6SDKSEBCU4JUMR4UHBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1000870705,"name":"Treats","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/02/02/5e7bc929565a4c069a7683cf6711a40b.png","unit_name":"TRTS","fraction_decimals":1,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1000870705/","collectible":null,"creator":{"id":3481377909887207000,"address":"AP2FJ4UT73HEQWUAXXLR2C5O6CWKUESUH5MJMT2L6ODQRVNIBI44Q5XSOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1002765064,"name":"Lofty 10157 Winkler Dr","logo":null,"unit_name":"LFTY0317","fraction_decimals":0,"total":"1736","usd_value":"49.170000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1002765064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1003833031,"name":"CollecteursX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/09/c0ab9718992a45d8ad3dbc705d601ec9.png","unit_name":"CLTR","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1003833031/","collectible":null,"creator":{"id":3508650454973556700,"address":"SH4W7IGJV3NCRKF5CKGICGRNFT5LHO47RNM6ZDDF2WJVUFTLGKV4IMNZ6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1007352535,"name":"USD Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/7c66dad38c7b4e1f907a559a7f738fdf.png","unit_name":"USDC","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1007352535/","collectible":null,"creator":{"id":3483669742667453000,"address":"PG56DVKH6F3RXJASLIR4AXIXDYTFK2DQWIEOLDY22HEX5IPRE47HNFINKY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1010838509,"name":"Acid Toke","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/09/1b2cd67e00394e0e855f5783fbc56f44.png","unit_name":"$Tokes","fraction_decimals":0,"total":"4200000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1010838509/","collectible":null,"creator":{"id":3509664257160200700,"address":"SEYX5F2S3H2TLISOB2UAWEGPWPHYLIV53ZF5XK3OQCXOOVNOYWDGLXVYA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1015673913,"name":"Workout And Research","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/20/6a8c8fe159214d1b82d126916808d519.png","unit_name":"WAR","fraction_decimals":0,"total":"21000000","usd_value":"0.000129445274","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1015673913/","collectible":null,"creator":{"id":3510910724684418600,"address":"R4HEJIRROEYYQNKQZP75XV6GBFM2WV52QVFYZMWOIOLYGCM6E3P3JC26LY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1018187012,"name":"Memento Mori","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/2b697f32c9bf4e98b8d3b640a57b2fc7.png","unit_name":"MORI","fraction_decimals":0,"total":"11200000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1018187012/","collectible":null,"creator":{"id":3511340755712614000,"address":"DEAXD24NWYIBUKALDZEMEMZCM6D4ANNTDB2VUKXOH3YO3SUONGZSXQZLGU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1020893679,"name":"Rabbit coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/01/30/7d1e3666592a42f6905c0f7751e5f80d.png","unit_name":"Rabbit","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1020893679/","collectible":null,"creator":{"id":3512073749098199600,"address":"OIPDH6NE6QAGWIOKYDCGAGN625F53AU5GNQ4MEQDEP7NV4ZZGGESIRFJEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1023334924,"name":"Lofty 127 Hausman St","logo":null,"unit_name":"LFTY0322","fraction_decimals":0,"total":"1586","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1023334924/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1023434045,"name":"Bear Heart Entertainment","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/14/d8f089cf2cbc4f01914468cd1cccbd9c.png","unit_name":"BHRT","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1023434045/","collectible":null,"creator":{"id":3470032129516334600,"address":"CAU4EGMQVILSAMXZHUV4AZB5QJHSM27OVV3WKYXCYQ3LNPH7IZEI2FIIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1024439078,"name":"Fracctal Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/28/0d875c2a9fee42a7a503db1f8a65e89c.png","unit_name":"FRACC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1024439078/","collectible":{"title":"Fracctal Token","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmbYMPpNdec5Nj8g11JCcaArCSreLWYUcAhPqAK6LjPAtd","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1024439078/","collection":{"id":3512965151283974000,"name":"Fracctal Monsters","description":"Fracctal Monsters is an NFT monster-taming game built on the Algorand blockchain!"}},"creator":{"id":3512300553052995600,"address":"KPVZ66IFE7KHQ6623XHTPVS3IL7BXBE3HXQG35J65CVDA54VLRPP4SVOU4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1024922832,"name":"AIINU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/06/7de0422b41194e80b0c1f19bce83d106.png","unit_name":"AIINU","fraction_decimals":0,"total":"333000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1024922832/","collectible":null,"creator":{"id":3512521854041019000,"address":"VRB5D2B6SCJCRBIVJ57IDXU2SI5O3SZYFAKWPVR5EB5DHOTW5NH7GVZ6GI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1028585879,"name":"Generous Baby Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/12/52b4e6a01c8a4f0bb5425938271232f5.png","unit_name":"GBT","fraction_decimals":2,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1028585879/","collectible":null,"creator":{"id":3513561439262954000,"address":"NPKADYYODGKFWGHQALB35JQF6V4IGK3G4ATJIZE4HESYGFW65DHI6IQMNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029379725,"name":"Lofty 16301 Glendale Ave","logo":null,"unit_name":"LFTY0306","fraction_decimals":0,"total":"2325","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029379725/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029725590,"name":"Growling Bear Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/08/5c400863adcb4b04ac8c89efdc73f52a.png","unit_name":"RAWR","fraction_decimals":6,"total":"12000000000000","usd_value":"0.000436010459","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029725590/","collectible":null,"creator":{"id":3513806532206159000,"address":"Z3CE4EZG3OJAWS7XWFK6D6VMC7KRFT2LERJV3RYS65V5AIXBJO2B3UEO4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1029804829,"name":"Flux","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/06/656cb36365734ee4a3b25a6acb880719.png","unit_name":"FLUX","fraction_decimals":8,"total":"44000000000000000","usd_value":"0.221964886066","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1029804829/","collectible":null,"creator":{"id":3513823012734565000,"address":"2XAH2WI7726D5TGNXX7QBPL54PRMT4JUJZCXSAUWBJIBKC455AJ5RPEGAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1034994881,"name":"One","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/15/6595668e083d4699a92815cb553f5528.png","unit_name":"ONE","fraction_decimals":10,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1034994881/","collectible":null,"creator":{"id":3513806532206159000,"address":"Z3CE4EZG3OJAWS7XWFK6D6VMC7KRFT2LERJV3RYS65V5AIXBJO2B3UEO4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1035899249,"name":"KOC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/03/02/ac1e54e600c5431e98d3c581f49c7c1a.png","unit_name":"KC","fraction_decimals":1,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1035899249/","collectible":null,"creator":{"id":3442198671898682000,"address":"C7DJIZMN6U4Y2LXKT5UQ357NQ6X65DL3VZTHIFTQ37SGNHAAIX2ZOLMINY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1035970481,"name":"Alternative Building Materials","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/13/2339ef5577094dddb1b5188cb15c03d7.PNG","unit_name":"ABM","fraction_decimals":0,"total":"25000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1035970481/","collectible":null,"creator":{"id":3428487374888146000,"address":"LBJ73LTKP43FSK4IBCRUSLCDJCCWFSHV6L3CVAZMTN7RM663X7ORK77ZIA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1037125809,"name":"A Beast called Algo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/26/4707a46cc17848eda3a624edef367cb2.png","unit_name":"ABCA","fraction_decimals":6,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1037125809/","collectible":null,"creator":{"id":3511279668830294500,"address":"JGVXW2XLQDODEGY6KCTBGD4UHL3QH5SCY7QYB77NN2JAMALKVJPVI3HJCA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1039986749,"name":"Friend Fish","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/27/ba99f30841124f059dbb8d3cc14133ee.png","unit_name":"FISH","fraction_decimals":0,"total":"50000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1039986749/","collectible":null,"creator":{"id":3516105564132791000,"address":"7W22OZOOLSJUK24CLYP2QLMNMWLFRC3FDWFK62LEM3E2TZULXL74VFOIFA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1044033654,"name":"Lofty 8646 Ford Ave","logo":null,"unit_name":"LFTY0330","fraction_decimals":0,"total":"2204","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1044033654/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1044269355,"name":"Folks V2 Opulous","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/02/22/4104b62ea35a4ef995b484da27b5e8c5.png","unit_name":"fOPUL","fraction_decimals":10,"total":"5000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1044269355/","collectible":null,"creator":{"id":3516873233915962400,"address":"VMRS35QRC5UVI5ZLGEDWFJX3464EBFRLD72NNJ2P34IWICCRBOG3YB2JX4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1045677043,"name":"Algorand Hodl Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/2b1d85310a2148eb89bd3ce2b95391c3.png","unit_name":"AHT","fraction_decimals":6,"total":"3200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1045677043/","collectible":null,"creator":{"id":3517179567477980700,"address":"7IFQKOKQQRVQGRDAPU7OXOOKRN3KZ5JQLIA3NVVWKXTNEN7P4EEI5CKT2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1049889280,"name":"Lofty 11019 Essex Ave","logo":null,"unit_name":"LFTY0331","fraction_decimals":0,"total":"1944","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1049889280/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1050428997,"name":"The Sports Progress Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/12/8f137bd8752941289d0e2ac9e73038f6.png","unit_name":"SPRO","fraction_decimals":2,"total":"500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1050428997/","collectible":null,"creator":{"id":3518171810817125400,"address":"L2QYKFEH7VD26MNO2Y6FALY4ZAL5SWFFMLAV56VAWGJOLIG3HFP53SR7CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1053260256,"name":"Glizzy Financial 🌭","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/11/427fc4b719934c7d8483ab80fd41b91f.png","unit_name":"GLIZZY","fraction_decimals":6,"total":"1000000000000","usd_value":"0.278595442659","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1053260256/","collectible":null,"creator":{"id":3518211788150608000,"address":"B4TUYQJMYQ4YVSTGW5HMQYOXM6UWZ7P6KIAC4C5AAZLRNX556TRWSB2LYE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1054235481,"name":"Midwest Fun Stuff","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/17/34e01c90e4fc421499da42c820a57f6f.png","unit_name":"MFS","fraction_decimals":2,"total":"5000000000","usd_value":"0.000031187896","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1054235481/","collectible":null,"creator":{"id":3425818926855773000,"address":"MOL3TBPQ2L74D5JGWEW362UQRCBOBZCVXZGOFJIR36GUBLKXDNIGW6VCTU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1058926737,"name":"Wrapped BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/2b752817c40a4654a9c979efc3188579.png","unit_name":"WBTC","fraction_decimals":8,"total":"18446744073709550000","usd_value":"83855.061636159880","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1058926737/","collectible":null,"creator":{"id":3520483877995478000,"address":"3VVXZS5IONAE4PJMCZMV3NM6WFXRYEHUGT7KH5GG5M3HJWSJDTP7X6VFPM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1060587336,"name":"Folks V2 GARD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/15/1b70df7c3ea24cc5abe03c87571df3fd.png","unit_name":"fGARD","fraction_decimals":6,"total":"18400000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1060587336/","collectible":null,"creator":{"id":3520858162205811700,"address":"RDOPB7VY2JLIQRZGZFLZXH2ZL4BJMYXNVH5DCKGQOZ3PDISHEWD4YHFIUY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1060770176,"name":"AutismCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/21/23a71456d6b04297a52274e1caefc182.png","unit_name":"AUTIE","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1060770176/","collectible":null,"creator":{"id":3520855200717855000,"address":"KNSIOLP662QPNXD4RCXIV4HSRCKV6G33RAGBA4ZXGLTHPOCPTUSXMCFPVQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1065092715,"name":"Cosmic Gold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/22/8234c39f060e476a936afa95af5d16bf.png","unit_name":"COSG","fraction_decimals":6,"total":"270000000000000","usd_value":"0.000660459469","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1065092715/","collectible":null,"creator":{"id":3521747550307471000,"address":"COSG2GGIIPXHLV4G2RTJUY7K6AA33F6XTL45A7NK3YPWGWAGCPNKB4CFXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1066202864,"name":"Trusty Digital Inc","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/05/a64532da7cc946a58f5e633b25521496.png","unit_name":"USPEP","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1066202864/","collectible":null,"creator":{"id":3521962946614264000,"address":"VEOLLNAI3ZFTW6MZPUPWVYOTTQW4M5IOUZQ2HXB46WDEFFB4MXTD2RPVH4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1067295154,"name":"Folks V2 Wrapped BTC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/29/4ef4f3abcec64136929669ddbc218901.png","unit_name":"fWBTC","fraction_decimals":8,"total":"18446744073709550000","usd_value":"85127.476085054423","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1067295154/","collectible":null,"creator":{"id":3522156894545910300,"address":"BV3EU3GIX26XJBF6AX5OC2HJJ5F2OJNQC7M3Y6DGQKPVURPRCHXBEE2OJM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1067295558,"name":"Folks V2 Wrapped Ether","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/03/29/541792ef08574e79a3563bf19a549f69.png","unit_name":"fWETH","fraction_decimals":8,"total":"18446744073709550000","usd_value":"1661.951799736354","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1067295558/","collectible":null,"creator":{"id":3522156996263043000,"address":"EHC6W75UHDUB5AHFIKMRDV7LEF77GCMONME5QLNRJWOJB7NGPYZBTT556Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1071055319,"name":"Lofty 801 15th Street Unit 204","logo":null,"unit_name":"LFTY0310","fraction_decimals":0,"total":"5763","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1071055319/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1073483571,"name":"Yoink","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/04/d84b65c12bbc449c91d1aa952f4b32be.png","unit_name":"YOINK","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1073483571/","collectible":null,"creator":{"id":3522196331406897700,"address":"O2GDMIMP2PEP6VCUVPQK6WBCRRBR66Z3XH7OB74PR6X5PWSNKUW7WGTVKY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1075040336,"name":"Postmodern Euro","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/10/17e4f6ad17894516a013e559c7124fa2.png","unit_name":"EURP","fraction_decimals":6,"total":"1000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1075040336/","collectible":null,"creator":{"id":3523620013997235700,"address":"XFWNR5COLWSTGRP6I324FA7MN3MAJYNHVEZJN542IIISPENYY6C44465FM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1076768277,"name":"Terminator Token ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/10/3119354f3d7e453382aa9b3cf34c080d.png","unit_name":"Skynet","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000574038102","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1076768277/","collectible":null,"creator":{"id":3485468316583878000,"address":"T2KNAMJLA5ULLNEJCMKMFGRGPXDMOD7INAQJEMNA3DYWE5WOKG55FC64LY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1080556472,"name":"Great Egypt","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/09/060057febba34370ac9c984185696e9b.png","unit_name":"EGY","fraction_decimals":2,"total":"1500000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1080556472/","collectible":null,"creator":{"id":3525462339648788500,"address":"754KWCNSKJ5HDNRNRK2XZTIO2XNVCUYAF4IDOM6VMHHNJSWPKNTRPJRC3Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1081594964,"name":"Lofty 1033 Cedar Village Trl","logo":null,"unit_name":"LFTY0327","fraction_decimals":0,"total":"5448","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1081594964/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1083164969,"name":"POLYN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/15/3576c051705a4971b3f84e07f31b3cba.png","unit_name":"POLYN","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1083164969/","collectible":null,"creator":{"id":3519172353215711700,"address":"3K5D2SBFBBTPLV4TQPZWETZNQSYUHJC27NCLSOOVA6GBAAVL6MZBHF4OCY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1088771340,"name":"Dark Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/04/22/107aeb91cb244af4baa7ae1921feb727.png","unit_name":"DARKCOIN","fraction_decimals":6,"total":"500000000000000","usd_value":"0.000053948449","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1088771340/","collectible":null,"creator":{"id":3426123588496844000,"address":"AL6F3TFPSZPF3BSVUFDNOLMEKUCJJAA7GZ5GF3DN3Q4IVJVNUFK76PQFNE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1096015467,"name":"Pepe","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/02/0e0961c39d7648cd8032a598423906eb.png","unit_name":"PEPE","fraction_decimals":4,"total":"4206899999999990000","usd_value":"0.000007415577","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1096015467/","collectible":null,"creator":{"id":3519401452585762000,"address":"B34VMB7AAF2JZHLUZL4ROAFAV7Q5TY2JXFCDGAJFYHNQAMVE5BCGGVEGAE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1098616344,"name":"GLIZZY PEPE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/20/e24a3329bb3e4db78df2fca6b5b54dbf.png","unit_name":"GPEPE","fraction_decimals":6,"total":"4206900000000000","usd_value":"0.000004686029","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1098616344/","collectible":null,"creator":{"id":3530153955578856400,"address":"IY53AXJXJT6DOEEMF3MDC3LOT5UUZ36R6YLHPU7Y4G5MHKNQ4MX2FC6BY4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1099642259,"name":"This Is Fine","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/09/334d7d3bbdfb4f81bad92d3646940308.png","unit_name":"FINE","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1099642259/","collectible":null,"creator":{"id":3519353355150257700,"address":"JQUSXD3WGE7T6ZPJH5IPW53ZPEC6U6WZSWZ33B5ZAUB3GFLAT5IHKARHWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1100556080,"name":"Andy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/15/0f9a318094ba433b87fb69ec2ddb7877.png","unit_name":"ANDY","fraction_decimals":0,"total":"4206969","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1100556080/","collectible":null,"creator":{"id":3467884281075387400,"address":"LVKYRKZWGNR7354FPFMKCCEZPRKBGT7D26EBRYBR3DVR6IF5VFQIOFU45A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1105062628,"name":"HellBender 392 Scott VA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/23/24177d66aac240479b6f94694932e8e6.png","unit_name":"OTSDHBVA","fraction_decimals":6,"total":"12000000000000","usd_value":"0.036518490847","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1105062628/","collectible":{"title":"HellBender 392 Scott VA","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/1105062628/","collection":null},"creator":{"id":3532011690505650700,"address":"ME4ECHD4OJB5RMXEKO74IHHF2OUJDMC3EYNZV3QG57Z6FGIIENR6L45KUI","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1105680969,"name":"BisKoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/07/6a431f50818545109235ed20ef7c2b9b.png","unit_name":"B$K","fraction_decimals":3,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1105680969/","collectible":null,"creator":{"id":3531810039229007000,"address":"L5ZMFBSIUQWI3Z33FWL3BXCS7PEB5IOQZFWOXCKGDTQJ5C2OZ6X2KKDFLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1107424865,"name":"Amina Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/09/f69423d244184bdd80f94031aa01c26f.png","unit_name":"Amina ","fraction_decimals":8,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1107424865/","collectible":null,"creator":{"id":3531851198666475000,"address":"6ZL5LU6ZOG5SQLYD2GLBGFZK7TKM2BB7WGFZCRILWPRRHLH3NYVU5BASYI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1111523351,"name":"Lofty 1209 Cove Ln","logo":null,"unit_name":"LFTY0333","fraction_decimals":0,"total":"2312","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1111523351/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1112554822,"name":"BIG-DickEnergy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/e9fa33b31956461686296092c4c0a629.png","unit_name":"BIG-DE","fraction_decimals":2,"total":"6900000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1112554822/","collectible":null,"creator":{"id":3534003284873267000,"address":"DICK5SOQ7RULJGVPTKTA6APFO4JYCACTVSNBP2ZNB6YFZI57N5K6U45UZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1112556000,"name":"LITTLE-DickEnergy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/05/29/d1fbcd1304dd4f1e8fcafb135319d567.png","unit_name":"LDE","fraction_decimals":2,"total":"6900000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1112556000/","collectible":null,"creator":{"id":3534003284873267000,"address":"DICK5SOQ7RULJGVPTKTA6APFO4JYCACTVSNBP2ZNB6YFZI57N5K6U45UZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1114942423,"name":"John Woods","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/09/fdc351d08fe34628a60d42b1b13bb554.png","unit_name":"WOOD","fraction_decimals":6,"total":"83999999000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1114942423/","collectible":null,"creator":{"id":3534374925108622300,"address":"UVHMBSK25GL3V777H7APQ2RTUAHXHJCGWKO5CVR6EO4WGHHJL4P7IGJEFM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1115850955,"name":"Diablo IV","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/05/d3e72c0c46414656aaae3fe4a94dce6b.png","unit_name":"CAIN","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000004690698","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1115850955/","collectible":null,"creator":{"id":3535378941885058600,"address":"G5B2ZRTIXIBLEOU5RR4ZL7OA5C7JSC2VZNGPGF6FWTFR56MRGAE3FHFM3A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1116319755,"name":"BLUE ORDINALS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/10/1c501940611e4337ad4b8abbf43744d1.png","unit_name":"ORDINALS","fraction_decimals":8,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1116319755/","collectible":null,"creator":{"id":3490849012571715600,"address":"JEQQAADI4C4MBN2PPJS2G3QOZRDSCDJ4REN5AT4QVLCHGMUIG5D433LULE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1118456851,"name":"Knead","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/22/4a2c0eadc4b1455ab3f151d4ab8309f8.png","unit_name":"KND","fraction_decimals":0,"total":"3141592","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1118456851/","collectible":null,"creator":{"id":3464282848196440600,"address":"JGREN3CLUCBALIVYVIM2UVTEBZCOSKGAETJT7QI6ENT5ZHPZRXVVRZ77CU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1118904346,"name":"Skye Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/19/18fe08b720f149418db2af91fe57c1c6.png","unit_name":"SKYE","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1118904346/","collectible":null,"creator":{"id":3424769153451245600,"address":"QPQAARSU64ZUW33J227PJS74GWTMBKJEUU34IL5MBE3542WA7QAHBEW4B4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1119663977,"name":"Beaver loves you","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/29/044def2061ed4461b762b327f51809bd.png","unit_name":"$beav","fraction_decimals":4,"total":"500000000000","usd_value":"0.000261113186","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1119663977/","collectible":null,"creator":{"id":3465481104072074000,"address":"BEAVERHDFKNW2ESM2TKNJ7FZ2XDFWZ7SJIOESUA45POMNPSXEIYYD7ELFM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1119722936,"name":"The High Community ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/12/0139ce57a1504a8aad86b153442f7abf.png","unit_name":"THC","fraction_decimals":0,"total":"69420000","usd_value":"0.000077340306","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1119722936/","collectible":null,"creator":{"id":3536177320220974600,"address":"H7Y73DCCJTLWS7373QQ4QJLDJ2T3V65XTJPAUL6GFRXMNLY6YETTTFKQSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1122347528,"name":"HIVE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/10/925e83c9225c480da1f9c76a0057dc41.png","unit_name":"HIVE","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1122347528/","collectible":null,"creator":{"id":3532350042099511300,"address":"6F2LNETA5LPZPG2VDTJNK2Q73HEQBKYTBNPREIIJF5OV46TQU2UCXPSTVY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1124070239,"name":"Metapost Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/14/267b4c8a0ae74b428323476331bb3d87.png","unit_name":"POST","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1124070239/","collectible":null,"creator":{"id":3537144890298127000,"address":"POSTLZFKFE647F6J23IUIB6TX4GIEYURKF32OW7PZNK7WIPFF53SY7Q73M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1127406202,"name":"Equito Wrapped Shiba Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/16/804c3f2a9051423fa4705d839a26dc87.png","unit_name":"SHIB","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1127406202/","collectible":null,"creator":{"id":3537728257684900000,"address":"Y4S53VFR4AYPPAU4OFDFKWRU6X25VMPOJVDYKGVEHQK2S4QBG6TCRYDLJY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1128779653,"name":"Opportunity Crypto","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/09/ab3aeaa2aad24ba387ebc7c1fa51537f.png","unit_name":"OPYx","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1128779653/","collectible":null,"creator":{"id":3497152342103489500,"address":"O2PWEUVVQCGIRQ627K5PH65JZP3PVFS7VR64S45BTEZZ6NPH47BAU3YU2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1130414707,"name":"Get Fucked","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/24/090fc1d28d374825b98b067dd2ade8d1.png","unit_name":"GF","fraction_decimals":0,"total":"10000000000","usd_value":"0.000000395722","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1130414707/","collectible":null,"creator":{"id":3525613336638473000,"address":"C2C7BPHGYXSQHV2N7LRJXIMJTIWFA3M6BDQF7WQA4TYQ5M5MKLBG4V7ZPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1130719852,"name":"FAIRINBOX_2i2i","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/21/7d1a3fcbe2a44e249806ef82c4a74f2d.png","unit_name":"INBOX","fraction_decimals":0,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1130719852/","collectible":null,"creator":{"id":3493741514003617000,"address":"IMIFDF2LS4DJB4K56TBOTANVBTIE2CPM32BTLWSCTZQU7ASRDM4CVIU5VE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1131427236,"name":"Day By Day V2","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/03/f5c343b74f7d4680a5d4b3a085c5ae6f.png","unit_name":"DBD","fraction_decimals":6,"total":"800000000000000","usd_value":"0.001059450877","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1131427236/","collectible":null,"creator":{"id":3538778210243335700,"address":"BOTWMMK4BCOQJQ2AIABUCGB6J6XZP3L33T4IMORJ4LEVDOCT3OLTBFXFWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1134696561,"name":"Governance xAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/06/28/429af4271f4843c7aaf52fce91ca27e1.png","unit_name":"xALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.213690698543","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1134696561/","collectible":null,"creator":{"id":3539583550550388000,"address":"4MBB6O7EV2ZRIUKJT47B2NJ2BQPNJ3BQEQBPA7UN7MXWRG7U4OMPP6VOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1137071163,"name":"Pepe 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/04/01cc9394fe3542708216a179029fac33.png","unit_name":"PEPE2.0","fraction_decimals":0,"total":"420690000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1137071163/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1138500612,"name":"GORA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/07/03/a6d49e2045864a02af0248f9d88d842b.png","unit_name":"GORA","fraction_decimals":9,"total":"100000000000000000","usd_value":"0.033485244676","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1138500612/","collectible":null,"creator":{"id":3540609560512426500,"address":"J2GVFTADZB7QPJOZ4R3FHABV4NWGE6CN6SYPHW32N3CNEWCRD6ACYTPYVU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1141259202,"name":"CYBER","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/08/ae0051734f5245c6990a49789df3de2e.png","unit_name":"CY💀","fraction_decimals":4,"total":"50000000000","usd_value":"0.000962999626","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1141259202/","collectible":null,"creator":{"id":3537547424114614000,"address":"CYBER2KPJ6IAG2PSG34GVCQ52FT3W4LZA7YDSQPB3IMT7RVRQI4EXHSDDI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1144340594,"name":"GAS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/13/6f0712418689437e896ad711ebf22cd2.png","unit_name":"GAS","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000062131116","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1144340594/","collectible":null,"creator":{"id":3539985401822277000,"address":"GASTVTSB3UI3RKFQXAVNSSVW7OG5JCTOANQSQIQCDWS7QBRK3FNAEH24MM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1148225020,"name":"OTSD Regen AG LP investment","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/30/aaee5d8671fc462b8c26b4fb7add0ac3.png","unit_name":"RegenAg","fraction_decimals":6,"total":"80000000000000","usd_value":"0.000133724318","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1148225020/","collectible":{"title":"OTSD Regen AG LP investment","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/1148225020/","collection":null},"creator":{"id":3542882559379674600,"address":"QALPKUI2BBIX7T54C7UWU4NXP4NRF6PRFC3QHEC5SZQP7UI6QNIP6J5WHA","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1152109334,"name":"Khaaaa Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/01/47117ddba02847868a5bf894f62ac6b2.png","unit_name":"KHAAA","fraction_decimals":0,"total":"1000001","usd_value":"0.004901942472","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1152109334/","collectible":null,"creator":{"id":3525613336638473000,"address":"C2C7BPHGYXSQHV2N7LRJXIMJTIWFA3M6BDQF7WQA4TYQ5M5MKLBG4V7ZPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1153943565,"name":"18474 Glenmore St Lending","logo":null,"unit_name":"LFTY0319","fraction_decimals":0,"total":"150","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1153943565/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1158785990,"name":"Lofty 115 Brigadoon Circle","logo":null,"unit_name":"LFTY0320","fraction_decimals":0,"total":"1663","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1158785990/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1160680775,"name":"9423 Denison Ave Lending","logo":null,"unit_name":"LFTY0336","fraction_decimals":0,"total":"254","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1160680775/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1164556102,"name":"X-NFT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/11/ded6102f64ed4a3bb481f98da9ecd4c6.png","unit_name":"X-NFT","fraction_decimals":6,"total":"250000000000","usd_value":"1.163335823683","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1164556102/","collectible":null,"creator":{"id":3429552616519085000,"address":"ETGSQKACKC56JWGMDAEP5S2JVQWRKTQUVKCZTMPNUGZLDVCWPY63LSI3H4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1165665513,"name":"Lofty 1812 Elmwood Ave","logo":null,"unit_name":"LFTY0311","fraction_decimals":0,"total":"2804","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1165665513/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166485390,"name":"Gunny Inugi: Rockie","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/47eedf9930384b1fb076b039e1475e36.png","unit_name":"GI1GR","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166485390/","collectible":{"title":"Gunny Inugi: Rockie","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/Qme85bDzHSUQfPUMLbTjJUBdgtRXPweZSeRH3SPy1Go4JH","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166485390/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166502923,"name":"Gunny Inugi: Fuzzy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/31ae4a938914440ea4dcad88bbfd9d19.png","unit_name":"GI1GF","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166502923/","collectible":{"title":"Gunny Inugi: Fuzzy","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/Qmdy5LVuhsfF6dxvf6b7HqqHAGmNtigYiZxjij8ggMaGx3","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166502923/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166518213,"name":"Gunny Inugi: Bolty","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/e714d16f644b4975b8085ff186eab642.png","unit_name":"GI1GB","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166518213/","collectible":{"title":"Gunny Inugi: Bolty","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmSApv5cm5CGrxiW9rkCfWWCQezbb99xdeK6rx7kHaZrS6","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166518213/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166579975,"name":"Gunny Inugi: Blaze","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/4b21c9ad5d084ecf90270825733cc806.png","unit_name":"GI1GBL","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166579975/","collectible":{"title":"Gunny Inugi: Blaze","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmRuDfoqk97AESRz3VRzY9fK4hF9dt1sGN5s93LxL9wb1d","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166579975/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166590241,"name":"Gunny Inugi: Taily","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/09/8544a83c21d7412699d31fe616cbabd0.png","unit_name":"GI1GT","fraction_decimals":0,"total":"2500","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166590241/","collectible":{"title":"Gunny Inugi: Taily","standard":"arc69","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmcaV5dfyqk2XG99aTyfqwQfSN28SpDWzLz2dCeekpb5oF","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1166590241/","collection":{"id":3586024355879342600,"name":"Gunny Inugis First Generation","description":"This Inugi collection showcases the initial 5 pets, each embodying a unique element - Air, Fire, Lightning, Earth, and Water. These companions are playable in Gunny, an online third-person shooter set to release on the Algorand Network."}},"creator":{"id":3540126873672235000,"address":"EH4OLM2L5RZJIUKT76XGJ7FCEUBNBUTC63OHTPD5OD2WWZHL336BFMITEY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1166979636,"name":"Folks V2 Wrapped AVAX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/14/8ff8015533804687849591c0690c16d4.png","unit_name":"fWAVAX","fraction_decimals":8,"total":"18446744073709550000","usd_value":"20.106929230000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166979636/","collectible":null,"creator":{"id":3547513387888134700,"address":"7A5PQOCMKDSUV63TUTOX3BMSJK44HH3UCT3YATBF33J6O4IRE7NLEWZ6AI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166980820,"name":"Folks V2 Wrapped SOL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/22/ecf46853a37e4084963add603952b63b.png","unit_name":"fSOL","fraction_decimals":8,"total":"18446744073709550000","usd_value":"131.744573110000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166980820/","collectible":null,"creator":{"id":3547513769738020400,"address":"XYW235QHOM46UQN4XIL5CRUZLCYVUYHIOJN77D6ELREPLORTRXM2ZSBKUI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1166982296,"name":"Folks V2 Maple Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/08/22/b2021bd7396345e4a187fac7e40ec891.png","unit_name":"fMPL","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1166982296/","collectible":null,"creator":{"id":3547514213610199000,"address":"G7DYFK6XGZEWCEMEQPTC6SYIVEIZPFXFGOKRIXO523JQZHYFD7IHM3YLIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167169177,"name":"445 Lipford St Lending","logo":null,"unit_name":"LFTY0345","fraction_decimals":0,"total":"190","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167169177/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167169305,"name":"9902 Garfield Ave Lending","logo":null,"unit_name":"LFTY0344","fraction_decimals":0,"total":"301","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167169305/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1167819755,"name":"Lofty 12615 Jackson Ave","logo":null,"unit_name":"LFTY0315","fraction_decimals":0,"total":"1000000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1167819755/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1169650768,"name":"Stealer Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/13/47d0307520cd4831a9c8b704b52e6068.png","unit_name":"STL","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1169650768/","collectible":null,"creator":{"id":3548214536614689000,"address":"Z2KBJPX6Z2AZ7FC73E4MDGMGY72B2QWLBRBKTRLJYO7LI3HMXESWCRJNFA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1169658307,"name":"Apeiron","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/24/0253b1f4eb504acf87790f64a0de005a.png","unit_name":"APRN","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1169658307/","collectible":null,"creator":{"id":3548218285339334000,"address":"A6SJO23LZ2NONURT5W2JUJGPJWQCX5I2VDG5IKWEAQMMSRBODSKWQHPT2Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1171775660,"name":"Fugazy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/16/cd9ad2102ee9425b9fc8f3de78d04ec3.png","unit_name":"FGZY","fraction_decimals":6,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1171775660/","collectible":null,"creator":{"id":3548662628921062400,"address":"6YWFF5CXHYPKPOY6AAKWRHHLK326DU3DOMXXQCI5PS7L72NX2OJJTAWFZE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1176731562,"name":"Lofty 75 Boulevard NE Unit 1","logo":null,"unit_name":"LFTY0328","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1176731562/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1178290500,"name":"Rollbit Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/08/24/ce891f91018545fab43c5c6cb500f550.png","unit_name":"RLB","fraction_decimals":8,"total":"319711196600000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1178290500/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1181999968,"name":"1677 Walker Ave Lending","logo":null,"unit_name":"LFTY0343","fraction_decimals":0,"total":"240","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1181999968/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1182542917,"name":"Lofty 8202 Laurel Ave","logo":null,"unit_name":"LFTY0318","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1182542917/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1182620971,"name":"Mercury Index","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/01/08/d614b61fde834b49ae48c2308564829b.png","unit_name":"MIT","fraction_decimals":3,"total":"1000000000","usd_value":"0.024717967874","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1182620971/","collectible":null,"creator":{"id":3531757322991951400,"address":"VJXHSRWLAFFF5CCM46TUNOV4W44EQHIKJYLRUILCMPLF4ET7XDELOYFXZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1183554043,"name":"AlgoCard","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/09/6247b4e54e2a46318fb74604c4fe0398.png","unit_name":"CARD","fraction_decimals":3,"total":"100000000","usd_value":"0.062995890922","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1183554043/","collectible":null,"creator":{"id":3426458820311951400,"address":"EXA72YENKHTRE45USUHYJLB3E2BTUMUZBQIOZG72FG637EVFDAHUWOJHWI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1184547068,"name":"SharpHawkservice","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/13/5c1fa2ad483f4bf486a3170d9aef5aa1.png","unit_name":"SHS","fraction_decimals":9,"total":"3000000000000000","usd_value":"0.000668546880","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1184547068/","collectible":null,"creator":{"id":3551970836425693700,"address":"N3P4OZ5LT7YBEOBX6YZDVLA3DD5MKNOGH2T4MXJVPBQXM5UKEJASM3WDYQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1184808594,"name":"StickmanLines","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/03/143ced11e87c4ddb951564726bff39af.png","unit_name":"STK","fraction_decimals":2,"total":"100000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1184808594/","collectible":null,"creator":{"id":3552054644735255000,"address":"W6IXI7YPNYY7NAF2Y2EBLCICBJVN6JZYJAUXSP5XFUHV2HNHBHJE43L4TY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1185173782,"name":"mALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/06/b9104476320f4d17be27d4c88a63b9ea.png","unit_name":"mALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.222245050429","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1185173782/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1185252893,"name":"Biden Bucks","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/06/7fd662807fb24f5c87776f2360eebd6f.png","unit_name":"BB","fraction_decimals":0,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1185252893/","collectible":null,"creator":{"id":3552204235610119700,"address":"YXK2P7F6JIOUWSGDRKM7T2NKLEAKHTNNYYAA3EPJ5EQQYDMTBAM5RMR3PU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1188287738,"name":"CBDC ScamCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/10/dfaf2d15df79480994b479d2ff8d09fa.png","unit_name":"BAG","fraction_decimals":0,"total":"10000000000000","usd_value":"0.000000000417","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1188287738/","collectible":null,"creator":{"id":3552109932146335000,"address":"R7V2JFEULAGHNYJPGHTDFBW357BMHUYTZQKTANZFGKVLUQAJPTZBR3J3VU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1189552380,"name":"OTSDLUKENS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/70c2bcd2207c415bb833fddc28220513.png","unit_name":"OTSDLKNS","fraction_decimals":6,"total":"120000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1189552380/","collectible":null,"creator":{"id":3553433836611527700,"address":"3PG3RHQVQCAAJ5NFT37UJDSEK2HB65I4IOWZGRNPL75OECIM5GC7KF4H5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190390016,"name":"CA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/01/b2c4bfe53d2a4f06b97d743c34b76ede.png","unit_name":"CA","fraction_decimals":0,"total":"69000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190390016/","collectible":null,"creator":{"id":3553682336111414300,"address":"CAA67HD65TXCSM7L5ELD6PGLWEWAATN6R677WJHVHVVBH4H2RH5NPSK6MA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190649759,"name":"Lofty 5899 Stonewall Dr","logo":null,"unit_name":"LFTY0340","fraction_decimals":0,"total":"1000000000","usd_value":"47.630000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190649759/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1190697410,"name":"Lofty Edinburg Estate","logo":null,"unit_name":"LFTY0313","fraction_decimals":0,"total":"10000000","usd_value":"225000.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1190697410/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1192606626,"name":"Krypto Bits","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/09/19/c7949b2c24d0405c83c066a095d70c0b.png","unit_name":"Bit","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1192606626/","collectible":null,"creator":{"id":3395648989861366000,"address":"R2WAU62AB3WLQVAKSU27ABT7LMK65I6ZJ6NLHKY33RVOJL6HN7P622RGPY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1194470385,"name":"$THICC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/11/f2450f1eec894ec19dcf07cf3eed8b43.png","unit_name":"THICC","fraction_decimals":0,"total":"18000000000","usd_value":"0.000000515838","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1194470385/","collectible":null,"creator":{"id":3554387499488013300,"address":"ZF5LRJJTQ6UIOIFW2HUCWLDTSPF4WN3GUQ34WMVBHDFJFCDJI5Z7HHO6MQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1200094857,"name":"ChainLink Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/24/21c9618ece2944b99e0f2c30dcf810ab.png","unit_name":"LINK","fraction_decimals":8,"total":"18446744073709550000","usd_value":"12.706200971236","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1200094857/","collectible":null,"creator":{"id":3556069300265185000,"address":"WGW26EJAA73V22X3MVWQDZEP36QV63WV622HVB2O3G3QNHFV6ORLOFRFZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1200705159,"name":"Lofty 902 Karlann Dr","logo":null,"unit_name":"LFTY0337","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1200705159/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210118499,"name":"3878 Windermere Rd Lending","logo":null,"unit_name":"LFTY0312","fraction_decimals":0,"total":"300","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210118499/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210764878,"name":"DinarCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/16/85fca1cd4dd3409fb1eeb3211fcb4507.png","unit_name":"DNC","fraction_decimals":6,"total":"888888888000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210764878/","collectible":null,"creator":{"id":3558768539862094300,"address":"CN4VCETORQY7SF4SCXBNJIQBPOTWCK6WIYFCCGEFRKGXD2H4P4KOBL6O4E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1210793288,"name":"Lofty 2423 S 51st Ct","logo":null,"unit_name":"LFTY0308","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1210793288/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1211492715,"name":"PLUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/11/7e7ad92aebda456dbef55ee359e9c251.png","unit_name":"PLUS","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1211492715/","collectible":null,"creator":{"id":3518180897054509600,"address":"UTI7PAASILRDA3ISHY5M7J7LNRX2AIVQJWI7ZKCCGKVLMFD3VPR5PWSZ4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1216437148,"name":"Folks V2 ChainLink Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/d9f344091d3d44039b67f993d5390694.png","unit_name":"fLINK","fraction_decimals":8,"total":"18446744073709550000","usd_value":"12.932725518476","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1216437148/","collectible":null,"creator":{"id":3559860139578341000,"address":"S5OOT4RBI3ICPLZFPDTJGLWOJPK3CSX4SRCRQ7FUU3RAY5DVNUXJ3MH7NE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1217293051,"name":"Lofty 128 N White Ave","logo":null,"unit_name":"LFTY0335","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1217293051/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1217302022,"name":"LOTTO RACE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/19/e908acbfe7cc48d4a77c292d96732629.png","unit_name":"LOTTOR","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1217302022/","collectible":null,"creator":{"id":3560054506189988400,"address":"LOTTORAXCLDWLSZ2BTC6AJJDDFRLGYQFQ5AJOSWAAZI5QJBPVPSCZ4ZWLU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221448215,"name":"Education","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/10/28/48a9c6866b104935ae2a7fe48969460e.png","unit_name":"Know","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221448215/","collectible":null,"creator":{"id":3505846366525108700,"address":"3QMAO6NQWAHRK7IUJSF4J6X2RBKMA7MMPGN3TVQB6RSPYVUMPRWFA5I2YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221549217,"name":"Arbitrum","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/b31cfe778b364ffca67f43f15747affb.png","unit_name":"ARB","fraction_decimals":8,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221549217/","collectible":null,"creator":{"id":3561017500191124500,"address":"HBZMGR47YDOQPH6IJIUEHU727BM7B3PZ42IVA3BXK6DMZGTE6X2XP66EZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1221682136,"name":"Quantoz EURD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/19/e19558c3094d4de2a97a59be79997dcc.png","unit_name":"EURD","fraction_decimals":2,"total":"1055000000000000","usd_value":"1.135799608603","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1221682136/","collectible":null,"creator":{"id":3561066962250159600,"address":"W23RVH6J52VDVC3O7OXITGETKNGLSTGGJCR55AS2NVSNDWXTLMBBJZB24I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1222988861,"name":"Lofty Blue Luxury Hotel","logo":null,"unit_name":"LFTY0323","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1222988861/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1223742907,"name":"Spore Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/47641616886941e290bc3661cfd1a9ec.png","unit_name":"SPORE","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1223742907/","collectible":null,"creator":{"id":3489275618857422000,"address":"TJ5EU4P7O447IGHP2PLSMOXQT7HD5CUAE7SQS7Z7CLFRJO47WPC3QCCQ5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1229820904,"name":"Hero Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/01/83e6937c7089455990f34cab94daf619.png","unit_name":"GHC","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1229820904/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1231325798,"name":"EDUCATION BLOCKS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/03/e3ccacc372ed442a8929714053266013.png","unit_name":"BLOCK","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1231325798/","collectible":null,"creator":{"id":3505846366525108700,"address":"3QMAO6NQWAHRK7IUJSF4J6X2RBKMA7MMPGN3TVQB6RSPYVUMPRWFA5I2YE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1232999340,"name":"STOR","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/08/0b84b4bf132741e88678f85d04a81fe1.png","unit_name":"STOR","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1232999340/","collectible":null,"creator":{"id":3562924082124257000,"address":"KM6UHB7GS7QMHSECPA2N4EXD5OWHH7NMTZ54532UYXIZKKKDF6OBKHOAZ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1233471765,"name":"Dollars General Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/01/28/cb3823c137b049c29d8d81e63d265a10.png","unit_name":"DGEN","fraction_decimals":0,"total":"1000000000","usd_value":"0.000007909787","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1233471765/","collectible":null,"creator":{"id":3563552682221104000,"address":"4BUCSJ3U6BAWB4IT4FCPU5AVSUOB4CAEPI3HZBV6X37CXYIOSVCZQK24XI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1237288791,"name":"Nollya GameF1 Da0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/25/10303c638e7244c981036249a00d7734.png","unit_name":"NLYA","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1237288791/","collectible":null,"creator":{"id":3563211422243870000,"address":"7QOLKBWBLE5KJICUAE2ASHGSGPNVA3CSEREYB64D4FN3K5J2FMKBX5TBBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1237529510,"name":"Polkagold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/15/c15619ddb3454b439ea9356bcb194863.png","unit_name":"PGOLD","fraction_decimals":7,"total":"100000000000000","usd_value":"0.037420620097","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1237529510/","collectible":null,"creator":{"id":3549198481807172600,"address":"DE52PISKT5KJW574FYSMTRGVR6DGC7EPE2H3L6QLMFTK37G25I3ENK5PVM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1241944285,"name":"Gold","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/d031d2be092845428fa568948309f223.png","unit_name":"Gold","fraction_decimals":6,"total":"1000000000000000","usd_value":"103.347030257751","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1241944285/","collectible":null,"creator":{"id":3565068480952770000,"address":"AC5MB73BJFJKCVDOVJWG6QSUVTGMPL2UUYHGXEG6CQWI5XQ4OAHVZQ4Z6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1241945177,"name":"GoldDAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/14/11b301268c634b34a0f118df8e0b0fa8.png","unit_name":"GoldDAO","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.991370937616","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1241945177/","collectible":null,"creator":{"id":3565068480952770000,"address":"AC5MB73BJFJKCVDOVJWG6QSUVTGMPL2UUYHGXEG6CQWI5XQ4OAHVZQ4Z6U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1242355666,"name":"Lofty 2364 San Pablo Ave","logo":null,"unit_name":"LFTY0313","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1242355666/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1242447555,"name":"251 Wachtel Ave Lending","logo":null,"unit_name":"LFTY0311","fraction_decimals":0,"total":"242","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1242447555/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1245322723,"name":"Labrador","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/06/175a1fc7663e494bab623eaadf2417af.png","unit_name":"Labrador","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1245322723/","collectible":null,"creator":{"id":3494237748518652000,"address":"TZFH3EDIQQZLPOGDQHQ3PQL6ULH4URHHFI2LIBY5ZMEB235EPCBWCUCUNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1247054501,"name":"Folks V2 STASIS EURO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/6fd9e1b957314a62951b99dac98e85c4.png","unit_name":"fEURS","fraction_decimals":6,"total":"18446744073709551615","usd_value":"1.127684860000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1247054501/","collectible":null,"creator":{"id":3566006963891046400,"address":"P4B56R5KSYUL6KG5KY5LJQHRWYNQIGVCUM2AVUVERCOGDTCW77QHY7ALWU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1249581181,"name":"Wrapped BNB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2023/12/06/152661bf2bc74b039e2e0938fdcc3dc7.png","unit_name":"WBNB","fraction_decimals":8,"total":"20000000000000000","usd_value":"604.594695554725","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1249581181/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1250132294,"name":"CampFyre Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/11/25/736b94c20dda48bdb46c311a7be3b192.png","unit_name":"FYRE","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1250132294/","collectible":null,"creator":{"id":3556138876938488000,"address":"EZYASAKZOIDZH2Z3BNSVVEJBCXXFBCW34WCIH2FPH2VKLZ4IINPZBQ4V5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1251829038,"name":"KRS TRADING DAO LLC","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/20/492914692b11422d89a1740d3bf4438e.png","unit_name":"KRSTD","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1251829038/","collectible":null,"creator":{"id":3566908197062579000,"address":"HLJAL2NDIL7MZC2HIY7MIL647DDDEX34H4LQ56IYXW7NMWGXDYIQCP5LP4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1256765304,"name":"jsrUNLOCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/11/cbea9245470f4f0687d6e62dbb09a0d7.png","unit_name":"UNLOCK","fraction_decimals":6,"total":"18446744073709551615","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1256765304/","collectible":null,"creator":{"id":3565036551690297300,"address":"HH4HEAB2WE6TWS2CVCZ7F3KW5P24YYH2EJGJ3YSWEO7D4PYZYMYTIIG7UE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1257136405,"name":"Lofty 10828 Pluton St","logo":null,"unit_name":"LFTY0321","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1257136405/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1258524377,"name":"Folks V2 Meld Gold (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/22/e08070ea578c41769d15d638cd352f2f.png","unit_name":"fGOLD$","fraction_decimals":6,"total":"100000000000000000","usd_value":"106.350527631380","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1258524377/","collectible":null,"creator":{"id":3567969950712893400,"address":"FXSTEOMHRWW6N5K3KF3UU2I2QABPKRVV2NRIO5WMRCG46AHIW6YWKRJI7Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1258524381,"name":"Folks V2 Meld Silver (g)","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/24/2f81662ffb65435d9455bf4abe409715.png","unit_name":"fSILVER$","fraction_decimals":6,"total":"100000000000000000","usd_value":"1.056364932715","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1258524381/","collectible":null,"creator":{"id":3567969950919054300,"address":"JK4OF7KFXTH4FPXM7WJP2QR7PS5OCTO64SPCSDQCVRS3OZXPCCE5ZAVKP4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1259645348,"name":"Gunny Matchmaking Rating","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/01/b57d41f3bcc448a58fd0162f8738fa6b.png","unit_name":"GMMR","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1259645348/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261011241,"name":"Apeiron 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/03/2be929a883544d3ba7252913a175a6a9.png","unit_name":"APRN2.0","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261011241/","collectible":null,"creator":{"id":3548218285339334000,"address":"A6SJO23LZ2NONURT5W2JUJGPJWQCX5I2VDG5IKWEAQMMSRBODSKWQHPT2Q","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261301160,"name":"Karzio","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/04/26244289c7c64e5cba8a4dbf40f1631c.png","unit_name":"KRZ","fraction_decimals":9,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261301160/","collectible":null,"creator":{"id":3568148829083439000,"address":"OBYDRA4NAUVCJN2ET3EPD7PGQJXZU3DM6LWUW7I567W7JLZR7AN6MS3ZMU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1261952433,"name":"Peperium","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/04/7a2d31c97ee44340a2b09a1cd1cc96b2.png","unit_name":"Peps","fraction_decimals":6,"total":"1420696696000000","usd_value":"0.000003207881","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1261952433/","collectible":null,"creator":{"id":3568586701001975000,"address":"F7RUA4SRPMWNF72UPWX44VYJVWQHFRF2I32XVOI53SC4EJ2XU4OW2YLPZY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1262355871,"name":"Harvest seeds ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/16/5cf520d9b5974d0797c410b7ab5b0d39.png","unit_name":"Hsed","fraction_decimals":2,"total":"420000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1262355871/","collectible":null,"creator":{"id":3509664257160200700,"address":"SEYX5F2S3H2TLISOB2UAWEGPWPHYLIV53ZF5XK3OQCXOOVNOYWDGLXVYA4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1265975021,"name":"NIKO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/02/d9699190064a41679493a0b5c30d0d83.png","unit_name":"NIKO","fraction_decimals":6,"total":"3141592653000000","usd_value":"0.000054286514","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1265975021/","collectible":null,"creator":{"id":3569265810977944600,"address":"WGZK33HTNKWD6HBZNHQVOHY7NIRSSTTV45DXBZUYPK5S54YSRUN2RHG6RU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1267506082,"name":"CLUB","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/7b10e3c067e24dd79da52ef4b86ba706.png","unit_name":"CLUB","fraction_decimals":0,"total":"1000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1267506082/","collectible":null,"creator":{"id":3556760056164519000,"address":"DC3LKAL4XZUOBGGVJ25LJAWXKLDSZGUS25YS5E6SCE2L542GIUCFT4JK3E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1268830233,"name":"Daffi Reward","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/10/562f1ba1f420455d90cebfd2e3a90110.png","unit_name":"DAFFIR","fraction_decimals":6,"total":"200000000000000","usd_value":"0.007356369069","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1268830233/","collectible":null,"creator":{"id":3456994263712495000,"address":"VOSKOU2ZVN45C44DLSBA5PEYBHILAIUBGXAZLEVKG6FL2AQ6FLSE3Q5D7A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1274454607,"name":"Sigillum","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/14/b2bc3698b0c648aea233ac12592adc38.png","unit_name":"SGM","fraction_decimals":0,"total":"500000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1274454607/","collectible":null,"creator":{"id":3570509900412756500,"address":"BRK652BG42PXOISNWQAJTLZWLDDGLUM62HW3KVUNROSNAQSOEJ6BQU4PBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1274539825,"name":"GEIBOND","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/28/c6c98b2e081549c7b84e431b782aa24f.png","unit_name":"GEI","fraction_decimals":6,"total":"30000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1274539825/","collectible":null,"creator":{"id":3570520936154609700,"address":"QOZ2GERRR2IKMU7UL7PC5C7M424Y4A7FYYB7IZIDKGXNWSXU7XLEZBNKMU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1275370710,"name":"SUS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/26/a02f4fe801c94eb1a5f8ad7f5909db37.png","unit_name":"SUS","fraction_decimals":4,"total":"7777777770000","usd_value":"0.000008301830","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1275370710/","collectible":null,"creator":{"id":3570653397249407000,"address":"7WU72BG74E5QGL7YNCZDKA2ZI5NHCJWF6EPMMTRSUPLDGUJL7SEVBZI2IU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1277633086,"name":"THE BORG COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/805634cb72d6463eb44657cd591cbc7f.png","unit_name":"BORG","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1277633086/","collectible":null,"creator":{"id":3570340892218886000,"address":"OACKNDZMUZMSQFF5P32DWP63NLJ5MUZ3KH3JNND44Q2NGNWZ34KKEV7T2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1277979657,"name":"BLCKRCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/19/06dab2c25c5d43238713e715ce281837.png","unit_name":"ROX","fraction_decimals":6,"total":"111111000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1277979657/","collectible":null,"creator":{"id":3472477482652185600,"address":"ROCKZH64HIKA7CHG2QCBON5NBIDIORSR72SGITEAAGLAVAHXHKAW3P7CCM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1279721720,"name":"Phantoms","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/8bc585ca991b4c68b2766606354cca96.png","unit_name":"phntm","fraction_decimals":8,"total":"700000000000000","usd_value":"0.000920769518","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1279721720/","collectible":null,"creator":{"id":3563319063032002000,"address":"YI7APPJQ6P2CLKW5E7YZ5NFMC4KBGES2EXN72ADUNX2BNQPKOOMIBVHWJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1282184111,"name":"Communism Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/26/b5ced5bdedcf4f28a4df44de031e6b47.png","unit_name":"CMC","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1282184111/","collectible":null,"creator":{"id":3566799158307551700,"address":"ULWJPKCJL4OBJYVH2UUPDCFO4ZPI3HMRXB5KV625GK2SQJ5PYBYOYRMGBA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1283139906,"name":"Lofty 13596 SW Mapleview Ln","logo":null,"unit_name":"LFTY0303","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1283139906/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1283150379,"name":"Lofty 88 Madison Ave","logo":null,"unit_name":"LFTY0314","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1283150379/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1284444444,"name":"Orange","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/27/9e4d1ca7fc5a408b87b2f47b50e4749b.png","unit_name":"ORA","fraction_decimals":8,"total":"400000000000000","usd_value":"0.068163989540","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1284444444/","collectible":null,"creator":{"id":3572074766054918700,"address":"JP3ENKDQC2BOYRMLFGKBS7RB2IVNF7VNHCFHVTRNHOENRQ6R4UN7MCNXPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285225688,"name":"Barb Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/24/58d44eb4d9ef476499ae789a2f0c50a6.png","unit_name":"Barb","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000166525961","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285225688/","collectible":null,"creator":{"id":3572181047133209000,"address":"BARBHZDQ5MP3QI6YJPOLEUJAVBH7OQFK6GQKN52FQJQP65FXHMPXSRD4FE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285492943,"name":"Arbitraz","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/27/ef200efd81b444ad8a70df00d1770250.png","unit_name":"ARBZ","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000019021292","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285492943/","collectible":null,"creator":{"id":3572224277365806600,"address":"FAR6R7FZTW6NZXH2SVHIPBNMPIFPAJ4BY6322PEQPTARJCODVR6BVU4A4U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1285683351,"name":"Wookfi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/04/6a26706622234bfbb01f66cd3d13978f.png","unit_name":"WOOK","fraction_decimals":5,"total":"100000000000000","usd_value":"0.000653828912","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1285683351/","collectible":null,"creator":{"id":3519329083934511000,"address":"UPFKFTVZJW2MMB3LQF6PMS5KHPZU5ETFHCJITGT4FX4CZK2Q7U32GP2QRM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1289298713,"name":"Space","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/01/9ac3ebd7ccb44d488fc1d66e6519cace.png","unit_name":"Space","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1289298713/","collectible":null,"creator":{"id":3572603214963149000,"address":"IHZJWVG6LZHH3ZCG6UM2CAOAPZKYKY3MS3SSDHMDNIZWXIHP7YTTKAXBEM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1290751153,"name":"Dogebarb","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/28/14c9991e5a9740b8b4aea81eca9e3636.png","unit_name":"XDB","fraction_decimals":2,"total":"20000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1290751153/","collectible":null,"creator":{"id":3572708142819902500,"address":"XDBNE3DYITL2G77I37TLKT4JSLR3U7MO5S6MTCZHB5FF25AZVJMFEOWJ6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1294383366,"name":"OUTSYDE GLOBAL BVI CORP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/04/4551ebc0e70043a79f8f235d6407fa67.png","unit_name":"OUTSYDE","fraction_decimals":6,"total":"35040000000000000","usd_value":"0.000002809301","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1294383366/","collectible":null,"creator":{"id":3572996171957208000,"address":"PAHHEFCXFIBGMDREMM7YENUUA26KBTY5267VWZ5YAWL5XRPUMCUKQFWYQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1294465507,"name":"TRUSTY DIGITAL DAO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/d93baac83d034231aa9ef13fe068eff1.png","unit_name":"DAOGOV","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1294465507/","collectible":null,"creator":{"id":3573010117497454600,"address":"23RWHHKDQTWBHTSKTRYSMWXIXS4KLMIUZOSLKOKAQFEZDU2NGXDXVC3RUM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1306013327,"name":"SealsToken 🦭","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2023/12/31/b678397e56924804b6d041f1ebfc712b.png","unit_name":"SEALS","fraction_decimals":4,"total":"4204204204200000","usd_value":"0.000000025364","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1306013327/","collectible":null,"creator":{"id":3573022707442633700,"address":"N2VVXWYHTULC3RCD2XBGNO2ZKHBHZ6HZVJH2GORVVFNZCJPHYHFPLRHUSU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1359744886,"name":"Toke","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/26/c337ec5d1dd94e5589b6bf9da2c5cf74.png","unit_name":"TOKE","fraction_decimals":0,"total":"42000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1359744886/","collectible":null,"creator":{"id":3574011295472589000,"address":"BLU5NLWSSBM5P3HIXIGIZPY2MJD3VK2EFOYA2G6F7ES36R5BJAG4QK5CII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367611498,"name":"5003 Deneen Dr Lending","logo":null,"unit_name":"LFTY0341","fraction_decimals":0,"total":"421","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367611498/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367657332,"name":"4318 Clybourne Ave Lending","logo":null,"unit_name":"LFTY0334","fraction_decimals":0,"total":"250","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367657332/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367696984,"name":"3139 West Blvd Lending","logo":null,"unit_name":"LFTY0332","fraction_decimals":0,"total":"320","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367696984/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1367723155,"name":"19416 Winston St Lending","logo":null,"unit_name":"LFTY0342","fraction_decimals":0,"total":"140","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1367723155/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1387094911,"name":"Rowdy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/09/d80b08a39c724114baad82355122be2f.png","unit_name":"RWDY","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1387094911/","collectible":null,"creator":{"id":3575126185912444400,"address":"YCDJ677XDLCAJPJ2AEUC43YMWPFUKFN55ISB6UTG5OTUK2KZ64PERKCCWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1387238831,"name":"$GOANNA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/02/06/ce27c59875f84c8b93066b83a1d9bc1a.png","unit_name":"GOAN","fraction_decimals":6,"total":"6942069420000000","usd_value":"0.001950691072","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1387238831/","collectible":null,"creator":{"id":3575132385447511600,"address":"GOANY3Q75XCJL74LIU24ESJCJZXTCSOHORAO6JIFQSVBGGNVZ5B7VEVFWM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1390638935,"name":"MAX COIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/13/eedf1a66b1ba4277b18ac6481e38fdc9.png","unit_name":"Max","fraction_decimals":9,"total":"100000000000000","usd_value":"0.251680986178","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1390638935/","collectible":null,"creator":{"id":3575368018253859300,"address":"MAXADD6GIJO5RFUDV6PGAQXZZFOSBPRN5ZZHCHESWGY5QFAXBQZN4KLEV4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1392353330,"name":"Ponchik","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/0a06ee8701c64addbfd3527077b1cd4b.png","unit_name":"PURR","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000030668658","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1392353330/","collectible":null,"creator":{"id":3573838988764532700,"address":"H6IGBW7JXBYUKVMY3LBWXRTSNSZFHZ3FAAWEYWD7D7COJXA2JGPDNQYUIM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1392374998,"name":"Aramid Voitest","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/11/aa7df2cb7eb14eba8bb2f5f28c6159d4.png","unit_name":"voi","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1392374998/","collectible":{"title":"Aramid Voitest","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/QmWtz8Bb1AByTopz3MhSeY8wgms8ZNoKUaGySpGccBhFug","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1392374998/","collection":null},"creator":{"id":3575476023608925700,"address":"VINY6VJDHYYSKTRE54XHOUMS5ISV6A5XHOV3HMMLBNJNHNLIMYFRMLLXOI","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1394684562,"name":"Golden Billion Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/13/5aa6228e6b9e4cb88deb18564ae2b23d.png","unit_name":"GBC","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1394684562/","collectible":null,"creator":{"id":3508714494584248000,"address":"JBRJ6OMCEQ53LDCSVYUYE2O2JU5KEKWVMOTYQDX4JYWS6VVDHAZYZFRCEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1398561305,"name":"DJMakode","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/01/4a1b5f02920843aab5e2cc13367073f7.png","unit_name":"DJM","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1398561305/","collectible":null,"creator":{"id":3470032129516334600,"address":"CAU4EGMQVILSAMXZHUV4AZB5QJHSM27OVV3WKYXCYQ3LNPH7IZEI2FIIZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1405560434,"name":"ALGOTVLCORP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/18/6e7700d1c315435eb3ec936dda123a07.png","unit_name":"ATC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1405560434/","collectible":null,"creator":{"id":3576456834256520000,"address":"GF7ZVVTG5KLY4XER2AISYNCD6HU3HMCWWCTGSKJE2KCUGPMIXI2TZHKAGQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1421321088,"name":"OG Squad","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/16/1c4167532c054e278ad5549f60768442.png","unit_name":"SQUAD","fraction_decimals":6,"total":"100000000000","usd_value":"0.237280537915","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1421321088/","collectible":null,"creator":{"id":3577078108071469000,"address":"TFGX76GYHHNAUJOGBCNPK7ZC5VMXHFDUTGQYSNHUHEEIB7JQZRPZ6BTISQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1425999935,"name":"FRET","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/26/084df6b54ba243aa9f115b5b0c36bafc.png","unit_name":"FRET","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1425999935/","collectible":null,"creator":{"id":3578139868594302000,"address":"BB7CXZ53EWCHCL2M4UC6ZY6H6FNYKJLS43FVE2A5WVHBEYWULUD63FBVEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1437818649,"name":"BigBoi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/01/31/cc0dceb050a04c0e93ffb873be915f61.png","unit_name":"BIGBOI","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1437818649/","collectible":null,"creator":{"id":3579156440945266000,"address":"G6ZE6XCK6UDESASOLY2JW3ZFNTJTM3KMRF2YD5PHRJ6YH5N56PCQI3U5II","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1447774422,"name":"Satoshi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/09/4da80bfb3a3f4f95b53847e1c2fd0ac0.png","unit_name":"SAT","fraction_decimals":0,"total":"21000000","usd_value":"0.021335450130","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1447774422/","collectible":null,"creator":{"id":3579781922755280000,"address":"SATWIABJJFSX3OJUUUWQKHO7HAXO53GLSQXDFPHXDJ3VKJIRBECJRKM6DM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1453520040,"name":"GARY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/2761d43909b44c79bc1b60107b700a64.png","unit_name":"GARY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000001664811","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1453520040/","collectible":null,"creator":{"id":3580082539306813400,"address":"GRYXJISAXHIZSC2HIMS4T6UC3YI6UZATLDIQTS4XLIV5GVY5WHSIMCFKHM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1459508661,"name":"TRUMPCOIN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/17/61694e5e4e92417a87df36ddae74c013.png","unit_name":"TRUMP","fraction_decimals":0,"total":"10000000000","usd_value":"0.000001227437","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1459508661/","collectible":null,"creator":{"id":3580337277866871300,"address":"ZSGVGUAKHUXXTPFNQX62MR53LRMYK2R7BJQJFXTSSV3OWSCBY4CKV22YM4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1477617299,"name":" Lofty 33008 Joshua Ave","logo":null,"unit_name":"LFTY0301","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1477617299/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1534723354,"name":"Lofty 402 N Wild Olive Ave","logo":null,"unit_name":"LFTY0329","fraction_decimals":0,"total":"1000000000","usd_value":"50.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1534723354/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1590103608,"name":"tmack Poker","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/02/23/d0aa2ca31d714f118aa90bf5b293eaf5.png","unit_name":"TMACK","fraction_decimals":6,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1590103608/","collectible":null,"creator":{"id":3578563128682116600,"address":"R3DPR6TEBIR6MUELIFCYRWKXDKLYN6XW2CBFXQFYOOX4FNYVQKNMQIY4AQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1612017486,"name":"Dooi","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/8497a54972854e11bef8ecaea115e033.png","unit_name":"DOOI","fraction_decimals":0,"total":"365435296162","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1612017486/","collectible":null,"creator":{"id":3584126425759605000,"address":"RSRV67FWC3PVOMG2SAN3ENKLTPU2EM3M2U6XUW7DEVSRFUO2F2ZMKNJZWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1612080140,"name":"Lignina","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/05/0eda121017ce4706851d7c5978d74bcc.png","unit_name":"LGNN","fraction_decimals":0,"total":"365435296162","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1612080140/","collectible":null,"creator":{"id":3584126425759605000,"address":"RSRV67FWC3PVOMG2SAN3ENKLTPU2EM3M2U6XUW7DEVSRFUO2F2ZMKNJZWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1619680930,"name":"Lofty 440 Louden Ave","logo":null,"unit_name":"LFTY0302","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1619680930/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1635463099,"name":"Lofty 1821 Donetto Dr","logo":null,"unit_name":"LFTY0331","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1635463099/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1641736925,"name":"5401 Odom Ave Lending","logo":null,"unit_name":"LFTY0327","fraction_decimals":0,"total":"112","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1641736925/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1641737578,"name":"20413 Kingsville St Lending","logo":null,"unit_name":"LFTY0310","fraction_decimals":0,"total":"258","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1641737578/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1642742254,"name":"PiPhi Network Token Official","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/30/e386725033f144f3b604c283f349a2c7.png","unit_name":"PiPhiN","fraction_decimals":0,"total":"314000000","usd_value":"0.001999066118","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1642742254/","collectible":null,"creator":{"id":3564293655905946000,"address":"MHWVMMSIJRMTH4WWOWF64RWUU4HV2K3BPDVWR35AT2MYGUMJN4SOE6XMYE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1643003311,"name":"ComeOnu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/03/26/b14c9bd8c84b4157850f8caf7643dbae.png","unit_name":"Come","fraction_decimals":6,"total":"21000000000000","usd_value":"0.000346002988","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1643003311/","collectible":null,"creator":{"id":3585723387603734500,"address":"UPSLKDAJVORDYA6NFLB7STBSWGJENTS6IU2DWFLOUWM27MCCSZZEIR5FF4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1643242122,"name":"STACIWIFHAT ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/25/2015327a54514664845dc6e67ee96121.png","unit_name":"SWIFHAT","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1643242122/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1651519046,"name":"HYPERCOSM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/13/1c63bbde4c2a40ee815e5a3b6de0703e.png","unit_name":"HYPE","fraction_decimals":4,"total":"50000000000000","usd_value":"0.000002296227","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1651519046/","collectible":null,"creator":{"id":3470928356071031000,"address":"HYPE6OXJLXYHJ7EERVI45TKAXNDNXID6NR4RA5YR56AHFRUNDA7B4BSY4I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1656375343,"name":"783 Leonard St Lending","logo":null,"unit_name":"LFTY0325","fraction_decimals":0,"total":"158","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1656375343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1664954357,"name":"Denarius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/aa0962b28f264e85a56280ed483ce217.png","unit_name":"DNRI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1664954357/","collectible":null,"creator":{"id":3583437996719717400,"address":"ESNH7Z5AVNTFIKRYRYQY4SU4UBMRHCSULCHTQZC434MZBG6EF2URXH6NBM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1667526649,"name":"Radioactive Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/16/4b63ce1e9e084995a4f2bcff051a7939.png","unit_name":"RDC","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1667526649/","collectible":null,"creator":{"id":3587056163885031400,"address":"CS6NRKPKDOSNSTZQNP4OMKYI6QDCK5ZBUBJHQASQG2DJSNGAQRAEVMN3S4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1669576668,"name":"Algo Penguins","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/18/c2da362877604c3e882afd810d5492d8.png","unit_name":"PENG","fraction_decimals":4,"total":"4200000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1669576668/","collectible":null,"creator":{"id":3587459952557672000,"address":"TCVDZ52ZACYYXSK4KHSIGY6H6IEEUKTWPOZXHANG5PNAVTTQG6QST4XSBE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1669846624,"name":"Titanic Catanic","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/17/3bbba093b2fa47b8a1d4a5ef115434c8.png","unit_name":"TC","fraction_decimals":0,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1669846624/","collectible":null,"creator":{"id":3587611662020355000,"address":"FIOOQ6NHDEAIAOCNMKXTG4CWFNBZYY3FEXPGZT4NEWW7HBU4JCXCGRATEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1671234093,"name":"BOOMERANG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/18/2811db2362b140d2997ccad833d10b2c.png","unit_name":"BOOM","fraction_decimals":8,"total":"1600000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1671234093/","collectible":null,"creator":{"id":3587638807187465700,"address":"BOOYG672EQ6VHERPFFT6S4NHUHCQAK73565ILR22VL6VDXCEITI6DI3VSA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1673529904,"name":"Not Gonna Make It","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/23/278645995d4a48a09fa3f2fff3e43243.png","unit_name":"POOR","fraction_decimals":4,"total":"9004000000000000","usd_value":"0.000000013576","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1673529904/","collectible":null,"creator":{"id":3431296569091431400,"address":"XOGMYSO3KFWDLKIOP47GAIPNCR3EBNY3B3Q5DSJK3FWSSV6XKFNCNGD2TQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1674484158,"name":"Algo ETF ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/19/ad2265da310f4a4aaa45cadef4324a6d.png","unit_name":"AETF","fraction_decimals":3,"total":"3000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1674484158/","collectible":null,"creator":{"id":3587896561487805000,"address":"KOQ2VGDA2D5CXTDRVVZJTF444KYC4GWSB4O63NOWMROZHOQQTFXHXIUC5Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1675316597,"name":"Wateract","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/03/24/20da93e36f51495781a7eb6cc894c645.png","unit_name":"WTR","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1675316597/","collectible":null,"creator":{"id":3587930608123138000,"address":"HYPERIYJSMAG7WBJKHUONE7UOWOVY5O7LLW2FQZNPTX5LRFMNHXKSEMJF4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1676550932,"name":"Lofty 122 Florida Park Dr","logo":null,"unit_name":"LFTY0320","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1676550932/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1677593614,"name":"OMI Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/21/14ca7db4618744299f085be850b2fbe7.png","unit_name":"OMI","fraction_decimals":0,"total":"750000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1677593614/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1679209072,"name":"Waifu Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/20/b5efc342225a403c88ec30d59837b9a3.png","unit_name":"Waifus","fraction_decimals":3,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1679209072/","collectible":null,"creator":{"id":3588122126073517000,"address":"EXUZAEP3KUXNTWP674ZERULU2GRB3XXZMGMQ73NRWOOBYHNZHUFACGEJEI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1680103549,"name":"Just Some Lemon Heads","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/22/81841ff9f7f14e498fbfe52b2a5934b7.png","unit_name":"JSLH","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000006461710","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1680103549/","collectible":null,"creator":{"id":3588179427023656000,"address":"VX5O3GIOJ6BC5LIO7JKOO3XA77KG22W4ARR4AKEI52AF3UIERLRLXTM5PE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1682662165,"name":"ALGO 200","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/22/ff48d99492a840a7bd54dce69c7847ec.png","unit_name":"A200","fraction_decimals":3,"total":"200200200000","usd_value":"0.001069443406","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1682662165/","collectible":null,"creator":{"id":3479620858600810000,"address":"4W7CN4VMAKV6C3IILWNFWTA4AKUKZ5VN2JVIOOIFPYJKR6ZOXUDLJI4BIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1682846697,"name":"WEAREFRIENDS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/24/c3d069825f114ed3bd2b1dd581c6ec12.png","unit_name":"FRIENDS","fraction_decimals":2,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1682846697/","collectible":null,"creator":{"id":3588329622518181000,"address":"EBLIZM3NBTIUKUAYERPQMWQYQKYECXYSKLHLMN4KWXACUT5XTJ25FMJRHA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1684682524,"name":"Pyth Network","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/974d3f6c0656447a90ad2ed09a65aee0.png","unit_name":"PYTH","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1684682524/","collectible":null,"creator":{"id":3588473920965092400,"address":"SM2AYKHKDF43JD37WQV3G2XMQJUXQ5X3VI2M447O656DHGSVVMEKWYR3GE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1691166331,"name":"CAT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/12/5607b7a53d3340c3ab3ac44806d1e8f7.png","unit_name":"CAT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000002172394","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1691166331/","collectible":null,"creator":{"id":3430151587999110000,"address":"I5WGNS5KBKLNA3HDO2EVAPJ3EYMIZNDBT75JRBLAZUWSAU65NMK4OUS2LA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1691271561,"name":"The Block Cycle Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/20/4c64172ac4c54e98bb313f96bfbb9b54.png","unit_name":"CYCLE","fraction_decimals":8,"total":"2400000000000000","usd_value":"0.000632144191","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1691271561/","collectible":null,"creator":{"id":3564471806914266000,"address":"RV3WOT7762CZUJCH6XPGQQYO2YYUDSY6XEROBLS52JN2KEH4ZXMVL73NSQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1696445879,"name":"Staciwifdogs","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/25/13b94d3b3dc241d09b4a4cf22b0daba9.png","unit_name":"SWIFDOGS","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1696445879/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1696994742,"name":"Battle Denarius","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/27/6e0ebfbbc7f143759a8f271e0a4e2732.png","unit_name":"bDNRI","fraction_decimals":0,"total":"10000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1696994742/","collectible":null,"creator":{"id":3588692549418300000,"address":"EYRVZYWAVYVIBDZUOPFJU4UWJGDEJ5BVTTMQ32UNGNJ4XUNFU7WTDIBUNA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1697010465,"name":"1432 Sara Ave Lending","logo":null,"unit_name":"LFTY0335","fraction_decimals":0,"total":"179","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1697010465/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1697189221,"name":"Universal Lending DAO","logo":null,"unit_name":"LFTY0326","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1697189221/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1699699699,"name":"BUMGARNERED","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/06/6a1acc45b8f348878870d9a50be1d043.png","unit_name":"OTSDGFKD","fraction_decimals":6,"total":"1699699699000000","usd_value":"0.000012036047","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1699699699/","collectible":null,"creator":{"id":3589210266435123700,"address":"GARNEREDSO725C4BGBHYTZVS7CMZWZ7XNBW6467GNCAJ4V6CRLWEGASOPE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1703994770,"name":"Wormhole Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/28/7c77708ef4c141fc94351b7b99da4d12.png","unit_name":"W","fraction_decimals":6,"total":"18446744073709550000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1703994770/","collectible":null,"creator":{"id":3589619305653400000,"address":"FO6L5HIYF6E6CGVPISQW5QN2FAZEFEE73DBTN2F4VX4O4ATNRGCD2OJIVE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1709118819,"name":"PYGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/03/30/a35afd55b8774a5d8abb90c0cce67a95.png","unit_name":"PYGO","fraction_decimals":5,"total":"210000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1709118819/","collectible":null,"creator":{"id":3589902143789453000,"address":"MUPCPQTBVUWSATYOHNI6FIFHW5QK47H2SQYU2QPNJJ27ZB5IPOYXDU3GXE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1709999153,"name":"Kelly","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/05/ffc6c2ada34b48d3a7781691d86a6f10.png","unit_name":"KELLY","fraction_decimals":5,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1709999153/","collectible":null,"creator":{"id":3587654123493213000,"address":"MBHCNTCGDSZDIWZZ3CZV2DGOKFLNUH6HFWYHJH5OWWD6OZQY3V7W7KWY5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1712734598,"name":"Hugeman","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/03/aa60e7272dea407e8e1e39fe765a207f.png","unit_name":"HUGE","fraction_decimals":3,"total":"100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1712734598/","collectible":null,"creator":{"id":3589985702072328700,"address":"Z57PB4U5I7EASJUUT4QHTW3V6UKOSZ7M6QHYJBGWTVM3RP2Q5F57PNOLC4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1713627878,"name":"McSlip n' Slide","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/01/dede6ae3bc2243c0856f98149ba02b1d.png","unit_name":"SLUG","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1713627878/","collectible":null,"creator":{"id":3402598449904665600,"address":"6KNLJKRDXPM3IY7YQR4WAPFCDVPK3ARYGOMIOGESFS5ZHCW7SNB7H6WAAA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1715841778,"name":"Wadzilla Official","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/04/12/5f4f854a680e4078b8d9f81314e315bf.png","unit_name":"Wadzy","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1715841778/","collectible":null,"creator":{"id":3589377196581339600,"address":"FHJTXRY3ORXJS267ZWXMMPXVIIUKGIHGZCRSHI5IURB3VKNR4SD3CDBKZU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1717112884,"name":"SHIGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/02/de9ad88f24eb49488e155b8e86d466cf.png","unit_name":"SHIGO","fraction_decimals":5,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1717112884/","collectible":null,"creator":{"id":3590393498523197000,"address":"UCF5XM5XN74WHZ3B5CBNYQMXV5U2IXR27FND5IF5PWZNR46K4NG56YI2HU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1718202069,"name":"Lofty 6117 Hyde Flats Road 21","logo":null,"unit_name":"LFTY0305","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1718202069/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1720582518,"name":"MEOW","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/05/0d0bc0d34e2f48108b89bc3cb95be622.png","unit_name":"MEOW","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1720582518/","collectible":null,"creator":{"id":3590649349932631000,"address":"3EAQOUUHPXQAV74QVFTVTKEPL3CZULOI3TZLUDP6FD5PCIY2AUOOJCIBMY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1721213788,"name":"RedWineHookerBlowGoldOilInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/15/5926671cc02a4b539590851c273be615.png","unit_name":"RWA","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000005834329","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1721213788/","collectible":null,"creator":{"id":3590701244535593000,"address":"LMW2KYSZK5BGKKADZREPOFV4R2GFKQRYFQVCCPEPIM7ZVGZO5ZJFSXPSPI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1728597969,"name":"CABAL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/957142ee9ac94baf9af1abd0e25e55fb.png","unit_name":"CABAL","fraction_decimals":6,"total":"999999999000000","usd_value":"0.000103750000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1728597969/","collectible":null,"creator":{"id":3585223684806090000,"address":"5HHELEWI4YWMUQ3ND4I3VCZB74D2EGZUJD7BFIAFDOUJA2EUUHA3KTFK3U","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1728734358,"name":"Boomer's Beer","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/06/531a50ef9b314d3baa98111096f15948.png","unit_name":"BMB","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1728734358/","collectible":null,"creator":{"id":3591225989495734300,"address":"SCRWYVCLVU4P7OQ6XONGQDOW7HQUXFAPSMVJGFGSTT6PPJQFUSDODI4FBY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730009239,"name":"My Name Is Jeff","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/07/a3781373437248a1aead60588efc9fe0.png","unit_name":"MNIJ","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730009239/","collectible":null,"creator":{"id":3591355711980949500,"address":"WP3T55KFDECKCHJC3VMH5DMPLQP3SQICBETJ75JNYNMR76C5USAJF6H6EA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730129371,"name":"DOGI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/07/4b0307f9cb9741b5bbc2348cff47ef7f.png","unit_name":"DOGI","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730129371/","collectible":null,"creator":{"id":3591367757809400000,"address":"QGPORNXP6RYWVOTULBNV34XTK5OX6E7FVHJMIZ66CCSHU2PGELTUBHMZ6I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1730408100,"name":"Booger DRUD","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/12/a34406efe3ca4741a5d0827e9346b205.png","unit_name":"DRUD","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1730408100/","collectible":null,"creator":{"id":3589789971813920000,"address":"NH23I7ZEG6TX65KOKGZ22FKBRRP34WXC3HQ4Q6PSLSPYGXNA5RB2TPRFXA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1732165149,"name":"CompX Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/08/f81fcc7945414293b57968f397a6e78c.png","unit_name":"COMPX","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.002727493462","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1732165149/","collectible":null,"creator":{"id":3591525860785715700,"address":"UVNDN2Y6YR25JX4G6W5SIGFSPDZSEAM5RODOB74YQ6YEVJVNGHGZUT454M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1733294337,"name":"Monk Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/21/e5706b8fb4c1425f9ff181826594b575.png","unit_name":"monk","fraction_decimals":3,"total":"21000000000","usd_value":"0.000203268584","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1733294337/","collectible":null,"creator":{"id":3591622014328077000,"address":"YYD76Z2J6PMJ6TUH32CDKGWXQXUVVO4N75WVCJPO4YH6VIRBDULD2BZBGM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1734822901,"name":"Lofty 20 Sederholm Path","logo":null,"unit_name":"LFTY0340","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1734822901/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1735023773,"name":"AlgoMine Ore","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/09/10fe92eef92c4d2faf80728ca1306c7f.png","unit_name":"ORES","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1735023773/","collectible":null,"creator":{"id":3490097962259053000,"address":"MXWUHWU7SE6TX2NICEIUEACEBOM5U4GIVSUF73HV4AL2S5SFDSBPSNRTUM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1739702764,"name":"WATER PROOF","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/10/a55fb4a7250a4a4dad2445a70cf8f374.png","unit_name":"PROOF","fraction_decimals":8,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1739702764/","collectible":null,"creator":{"id":3591942149677498000,"address":"PROFVF4JVA65OIF3XCOF4SK52MZAZLJMX7JSQD6RCZOAFZWWHSXOFU4F5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1748330503,"name":"Gainify","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/02/20/348c0bb958304ee4bef12cd5dce4db0a.png","unit_name":"GAIN","fraction_decimals":10,"total":"1150000000000000000","usd_value":"0.000085091520","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1748330503/","collectible":null,"creator":{"id":3592489948535890000,"address":"GAINOWPJD6ALXXMK6VJC3P2KYJ3LPTSZQ35D5FCXYPEIBT7HIIDFTYFMHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1753171805,"name":"Lofty 1580 Andover Dr","logo":null,"unit_name":"LFTY0338","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1753171805/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1753483231,"name":"RE Advertising","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/18/99a7f091dbc6407f8b6318ce15d6935c.png","unit_name":"REA","fraction_decimals":4,"total":"10000000000","usd_value":"0.019753455360","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1753483231/","collectible":null,"creator":{"id":3592530826691422700,"address":"WOE76KOU3YIW3FJAUN2D26AL2GQF5I47M6KATVZLY67ITNNIYHGR6PZP24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1758575896,"name":"Kiro the cat","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/19/a44cf7900e5a424d9bf5393744848276.png","unit_name":"Kiro","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1758575896/","collectible":null,"creator":{"id":3593372502694886400,"address":"TYO2R4SVISTSSWNY6KH2PGBJTMDO6ENIF7JT4EHUU7NJGYCV4D73F7WICU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1768581362,"name":"ShutTheFuckUp","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/22/5f3c9014a4034b7295b3c3f5f81455e6.png","unit_name":"STFU","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1768581362/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1775410837,"name":"BOBO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/22/d3b0c39b1e8e4d77bd6c8b1b597cbe78.png","unit_name":"BOBO","fraction_decimals":5,"total":"6900000000000000000","usd_value":"0.000000235225","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1775410837/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1778633087,"name":"IDontGiveAFuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/043116a933644d29bc22a3fc03e8f677.png","unit_name":"IDGAF","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1778633087/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1781436223,"name":"BONKY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/23/af48870952a74776b0f42866b4b2203b.png","unit_name":"BONKY","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1781436223/","collectible":null,"creator":{"id":3594188292300421600,"address":"UR56KTJGRWO74KKXVA3FLL5R3PAQTBKLZEOU5A3KI6KPLTMVZYPVUDNL5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784249575,"name":"Holkan Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/23/50bf3fe0cb3948008e6ef5de253366b5.png","unit_name":"HLK","fraction_decimals":9,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784249575/","collectible":null,"creator":{"id":3593401526364111400,"address":"SOMXLRC7OD3W3FDL4L42YAZXAFZDRJQCFSVBC3AMBFT6KWKM4EKCMZ5GLM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784381997,"name":"Lofty 724 3rd Ave","logo":null,"unit_name":"LFTY0403","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784381997/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1784383458,"name":"Community Coin Contest Winner","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/c9432da7945345909394274eddd9217e.png","unit_name":"CCC","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784383458/","collectible":{"title":"Community Coin Contest Winner","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafkreigfyuh4fiakkia6wbgbpqun34ub4ify7zkimh27sxuuw43rqddrci","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1784383458/","collection":null},"creator":{"id":3594304304437884400,"address":"HFF2NJYGLSEJK3SAGWCAVE63MN7GKAZWTCBQAFMPFPJMRUAKWZWKR25OM4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1784545587,"name":"GiveMeBackMyFuck","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/ad997bb9dac94998856c15588fd1f9d7.png","unit_name":"GMBMF","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1784545587/","collectible":null,"creator":{"id":3585909004745907700,"address":"42ATJIOFB5IGQT4NUUVJP3VBHAIC4JXMZDKJSRZ5PTQLLVVPWPN3HZA3O4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1788520109,"name":"HederaInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/24/009269080eec4766aaa15a9af3eee60b.png","unit_name":"$HBAR","fraction_decimals":5,"total":"5000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1788520109/","collectible":null,"creator":{"id":3594442091068505600,"address":"FIU6GNH45FKGNHMZW747LSDB5KVGHIEJESQH3LP5VFIE3RAFHI4FPNOEQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1790688562,"name":"AlgoPulse","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/25/137f0a33f6ef4c0cb1a27a3a0097f7f2.png","unit_name":"APLS","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1790688562/","collectible":null,"creator":{"id":3594576447649935400,"address":"XJTZ2TIK3GGUX3ZKQPAECWNPICQGCYJKQW5SRFF2AYBRMBA34YK5YHYAIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1791570043,"name":"BojackKickMyAss ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/27/091a4d5477b7498e93affdd7759b8775.png","unit_name":"Bojack","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1791570043/","collectible":null,"creator":{"id":3590991319685687000,"address":"QFMW4FLUBKANVAGKPJTCQJ76OBKZD3FC673O4KMK5JZ4SRTPRD3N5J6WI4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1796716691,"name":"$hit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/01dfa71a7008461a8cd4cf9ba3bb813a.png","unit_name":"$hit","fraction_decimals":0,"total":"419000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1796716691/","collectible":null,"creator":{"id":3595019266797681000,"address":"SHITOVAH66ZFSUISEZCJAAMYMTAUX3HNP7F6T52YVSZHEOLOWR4RFPJ2IY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1799290707,"name":"AVXChange - Audio Video eXchange","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/29/15341bcfcc634a1e9ad9179f2dd01097.png","unit_name":"AVX","fraction_decimals":2,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1799290707/","collectible":null,"creator":{"id":3582161585999526400,"address":"F76VL7TEHUKDXZR3D4OFD24XCLTMJDDBSJNQWNAW3YXRTXAJS6YUNI5624","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1801490588,"name":"Diginote","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/30/d9d82efc1c724219aaa9f13c9550c9c7.png","unit_name":"DIGI","fraction_decimals":3,"total":"4000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1801490588/","collectible":null,"creator":{"id":3595457837383437300,"address":"VX7B33IFNOX2JLQUNU7DL5UXKRU47SEH6I6ENZDIDVUWVFSRQMCZJGASDE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1802218309,"name":"Lofty 27 Pillar Ln","logo":null,"unit_name":"LFTY0400","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1802218309/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1802431943,"name":"Texas Farm","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/04/30/e09792e29a524daa9d2cd4d98783990b.png","unit_name":"TXF","fraction_decimals":6,"total":"230000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1802431943/","collectible":null,"creator":{"id":3595580207006729700,"address":"EWQHQFH7R5TI2A3KB7U33WT2W3AESHSEDQAMJCAHWETOJFV3Q7CRGVCQPU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1803484794,"name":"Pulse","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/343b184ae7b84764ab5963f6a04e2695.png","unit_name":"PULSE","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1803484794/","collectible":null,"creator":{"id":3594576447649935400,"address":"XJTZ2TIK3GGUX3ZKQPAECWNPICQGCYJKQW5SRFF2AYBRMBA34YK5YHYAIU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1808888848,"name":"AKPP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/06/4ec3838832b048df9fe95a5ba5cbb7dc.png","unit_name":"AKPP","fraction_decimals":6,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1808888848/","collectible":null,"creator":{"id":3594076945642512400,"address":"AKPP26VTMWZCIKOFTUWQ3T3ATJIMXDUFMSQDX4YRAA7TZOP3ZIQKTPKMEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1810650610,"name":"Umalliq Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/05/851815bcbcaf4cf9975e90f532b17a0f.png","unit_name":"UMQ","fraction_decimals":9,"total":"9000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1810650610/","collectible":null,"creator":{"id":3593401526364111400,"address":"SOMXLRC7OD3W3FDL4L42YAZXAFZDRJQCFSVBC3AMBFT6KWKM4EKCMZ5GLM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1812382524,"name":"CRAZYCOCK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/16/96c57caf3df14abaaeb2f9e3d10ac521.png","unit_name":"COCK","fraction_decimals":8,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1812382524/","collectible":null,"creator":{"id":3596440564613603300,"address":"E7IBL62XALMTDOU4OWJG4QWNO6VB5GI5IYDWKN2U2WMUVDEGLRAUS73KZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1812920399,"name":"Doppler","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/08/5b3099054e7c4c6c813325104ea32cb7.png","unit_name":"DPP","fraction_decimals":0,"total":"8000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1812920399/","collectible":null,"creator":{"id":3596537440818903600,"address":"OWTCWDWYTLFRDOPEEP4LMKNG2DDQCX72OXCAS2VNK4E5XXTQ52WREYTFHU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1813373577,"name":"Degen","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/07/34ef7e8286384766bc7efc6ecaef3ecc.png","unit_name":"DEGEN","fraction_decimals":8,"total":"3696573033200000000","usd_value":"0.002230668658","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1813373577/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1813993557,"name":"WalterTheWise","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/06/9e22bc84a5b24666974d7fb1c7a9dce2.png","unit_name":"WALT","fraction_decimals":4,"total":"1000000000000","usd_value":"0.000011972543","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1813993557/","collectible":null,"creator":{"id":3596615983762407000,"address":"ZHHKWF3GTYRKWBM4OXOEPCP33HC2LD5LQMVUZYNZQ2IAADOTLLENW5I2SE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1816201218,"name":"Lofty 2211 N Archer Rd","logo":null,"unit_name":"LFTY0407","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1816201218/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1818235033,"name":"BasketBallTV Tok🏀 ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/16/c21706108b604298af430a054c62cd17.png","unit_name":"BBTV","fraction_decimals":0,"total":"900000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1818235033/","collectible":null,"creator":{"id":3597037855105432000,"address":"YJAKPVOBSUNH2KGFYRGNVYX3RQT2VN2T545XDRZWLPXFIHLET4BQ3RZ7PQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1820063739,"name":" Lofty 800 Embassy Drive","logo":null,"unit_name":"LFTY401","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1820063739/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1821123863,"name":"SpeCie ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/19/00bb1fc8f5e84dc184aebe12b5aa7989.png","unit_name":"SPEC","fraction_decimals":8,"total":"5000000000000000","usd_value":"0.000362775494","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1821123863/","collectible":null,"creator":{"id":3517874820214083000,"address":"CVB6TBMAVA3OTE4FN7VNPHAWFAFKVKPYCTWOAJPYQ4PCHUWEECQXJQ5BII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1821328783,"name":"DALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2024/09/29/9e298f45b3e8425bab1c5ba9135098f0.png","unit_name":"DALGO","fraction_decimals":4,"total":"1000000000000000","usd_value":"0.000001292472","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1821328783/","collectible":null,"creator":{"id":3549198481807172600,"address":"DE52PISKT5KJW574FYSMTRGVR6DGC7EPE2H3L6QLMFTK37G25I3ENK5PVM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1837386140,"name":"MEOWEREUM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/20/3e3e11cee920443d9e0439c4043c8c47.png","unit_name":"MEOM","fraction_decimals":6,"total":"99999000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1837386140/","collectible":{"title":"MEOWEREUM","standard":"arc3","primary_image":"https://mainnet.api.perawallet.app/v1/ipfs-thumbnails/bafybeiavsry5du3xbzwgwnetdaohu5lby4w55iplmi6ar6wg2byl56nexe","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/1837386140/","collection":null},"creator":{"id":3597224239643487700,"address":"MEWMJWOZDPQV5EO3RAOHCHDL65XFXKZOREKXRBRJIM6YBT5BBGX2PRGTUY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":1839008085,"name":"Vault-Tec","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/13/48758ae4a7d34183b5732a9d57327da8.png","unit_name":"Caps","fraction_decimals":0,"total":"20000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1839008085/","collectible":null,"creator":{"id":3597687025053579300,"address":"DQBFQQKUDEVYTIWXJO5LFVETYPSHTN5J6C2LPBNGQLVBJCQ43HEUO4KMG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1841519945,"name":"Algo Chan","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/12/e8059854e4f640a09bd0879ddbbf98e9.png","unit_name":"ALGOCHAN","fraction_decimals":3,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1841519945/","collectible":null,"creator":{"id":3597737605773379600,"address":"L4BTUQ5FVCKHSQYYXOG2HPH3EKK4VXZSXK7FQBDWPRR3YJ5RQ6DVSBARDQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1847628608,"name":"Lofty 90 Madison Ave","logo":null,"unit_name":"LFTY402","fraction_decimals":0,"total":"1000000000","usd_value":"50.950000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1847628608/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1847793337,"name":"Albino Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/21/1329343813ba48e1bdfb9b6cb3d35305.png","unit_name":"ABC","fraction_decimals":2,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1847793337/","collectible":null,"creator":{"id":3444677914697840000,"address":"2LLQW6CVAGOITW4Y6QSJSL65V3BA5HENRI4QPWNXZQHKUPPLWW3FU23X5I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1848380132,"name":"MAGA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/16/23e89d7624064d73ad8abd396db640d7.png","unit_name":"TRUMP","fraction_decimals":4,"total":"470000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1848380132/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1861700769,"name":"Enopro","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/18/20cf24767ecb4f46b49d11e0e1ddfdf1.png","unit_name":"Energy","fraction_decimals":5,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1861700769/","collectible":null,"creator":{"id":3598736834751396400,"address":"4O2D777T2QBYXNRVAFQAMOVBTSKMGKPM7Q4II72LL4RIMPB2LU44OXA3KM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1863216700,"name":"Vault-Tec","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/19/f7400f7f7a084578939026a61f6063a7.png","unit_name":"SSC","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1863216700/","collectible":null,"creator":{"id":3597687025053579300,"address":"DQBFQQKUDEVYTIWXJO5LFVETYPSHTN5J6C2LPBNGQLVBJCQ43HEUO4KMG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1866354737,"name":"CARTEL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/28/32f9fb1f4e0f4c9da563ddeb1c6fc73b.png","unit_name":"CARTEL","fraction_decimals":8,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1866354737/","collectible":null,"creator":{"id":3599335433811843000,"address":"5JYTUUVLW3FJYIKXZYX3VIDNI46XGZ3KUBZKYWEM25JYYRMBPMS54OCSHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1868649204,"name":"Lofty 581 San Francisco St","logo":null,"unit_name":"LFTY406","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1868649204/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1868885560,"name":"Mini Moo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/24/df5ba000f84543f0baf3367311080f9c.png","unit_name":"MINIMOO","fraction_decimals":3,"total":"75000000000000","usd_value":"0.000002780537","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1868885560/","collectible":null,"creator":{"id":3386301789383790000,"address":"OAXQZTYXGLCA5YUVYGTKHBXPUUD2UGV6UTFA36X3POAMQEQAVWHHKZFMJ4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1882080161,"name":"The Helping Heart","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/27/a4c24a94661049139e6ef89844dc0547.png","unit_name":"THH","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1882080161/","collectible":null,"creator":{"id":3600434782624213500,"address":"HH4IWHBGARTSSXZROPE4Z5NAZMKQLHSVZOARICN5DBJ7MPJQFI5OIMA6NM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1882181253,"name":"Groceries Wit Bag","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/27/5631c43439c94d0b8d657e06007018eb.png","unit_name":"GBAG","fraction_decimals":1,"total":"70000000270","usd_value":"0.000000388606","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1882181253/","collectible":null,"creator":{"id":3592489948535890000,"address":"GAINOWPJD6ALXXMK6VJC3P2KYJ3LPTSZQ35D5FCXYPEIBT7HIIDFTYFMHE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1886780008,"name":"Lofty 3761 Jade Ave","logo":null,"unit_name":"LFTY0405","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1886780008/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1888888888,"name":"EXA","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/13/17209a92d0834194a85ca44b653eed76.png","unit_name":"EXA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000192360851","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1888888888/","collectible":null,"creator":{"id":3600191331377679400,"address":"EXAMARKETNGVS7HBZDDRJE2QST33WCBUQPYOQRJBYLMCE7TKKRCZRX3N2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1889681715,"name":"FLOKI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/05/30/0e6143de7f8347498b3a3f20bdc81671.png","unit_name":"FLOKI","fraction_decimals":8,"total":"18446744073709550000","usd_value":"0.000058556219","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1889681715/","collectible":null,"creator":{"id":3600784796964803600,"address":"TSTOOLHNTQPDCVBV2FF3E5MCC7HV7LRJYPNEWNKYNOV3ETUTHRLWQQDPIE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1890002545,"name":"Goblin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/07/24/f54e9ebed66d4d5287b58a2ced164caa.png","unit_name":"Goblin","fraction_decimals":5,"total":"5000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1890002545/","collectible":null,"creator":{"id":3600797075693215000,"address":"4KAPWKE5SAKPMIJ7ONJDMPBISSBJSW6LXLQ5V63MUDHRS3MIRYIDX6C2UQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1893942045,"name":"Elegant Squidward","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/05/30/4f7f152b18974527a7003964e6f325f3.png","unit_name":"ELGSQ","fraction_decimals":5,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1893942045/","collectible":null,"creator":{"id":3601001833135865300,"address":"3YCRH2IP2UK3ZYWOFLRN7MHROGEAZUXDSKSAGPNKGG5FJUACXC4PZ4FEV4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1904048334,"name":"✓","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/31/f337549617f042f894c7813c609d1bc8.png","unit_name":"✓","fraction_decimals":10,"total":"200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1904048334/","collectible":null,"creator":{"id":3389748826092946000,"address":"V54H3GDGF2SZCTDZX3GF4LOYBHZ222IJKQBDMNB5KJJPDPUIGIJ5DLLA5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1909383343,"name":"Lofty 14018 Arcadia Road NE","logo":null,"unit_name":"LFTY0411","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1909383343/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1930070705,"name":"BLOOM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/22/7a12ffc1c39341159a00cafabd4f8b52.png","unit_name":"BLOOM","fraction_decimals":6,"total":"69000000000000","usd_value":"0.000055982443","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1930070705/","collectible":null,"creator":{"id":3598298619530586000,"address":"CRRSPPKH3SUMVLW564WIUIE4APLFKLDLURNR5MC2ZQBTW6DM5OTPM5NOTY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1932283704,"name":"PERUSALEM","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/08/45908280bbea40b9bcdc4e9e9fb176a6.png","unit_name":"PSLM","fraction_decimals":7,"total":"1440000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1932283704/","collectible":null,"creator":{"id":3497711243853358000,"address":"H5UAPS4CEU2XGITVNIHVP3L4A4DVADJI5CU6ZG7QEUI7DP2AOKSEVBOM3Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1938511342,"name":"Flerk","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/10/bc4973cea868478390b9f801fdb423c8.png","unit_name":"Flerk","fraction_decimals":5,"total":"6942000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1938511342/","collectible":null,"creator":{"id":3602996773327625700,"address":"ZNMITO4B6NTSMRK46EJCLMRF7J2HTZGKRUS3ZAYCDPRSADVNRDCV23PXWA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1949141767,"name":"Lofty 49 Bannbury Ln","logo":null,"unit_name":"LFTY412","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1949141767/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":1954250035,"name":"PeiPei","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/12/f5dfa73bb2894e5fb87334fb47baba42.png","unit_name":"PEIPEI","fraction_decimals":4,"total":"4206900000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/1954250035/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2004387843,"name":"AlgoAdoptAirdrop","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/23/e1795fd8fae3486ca6d7d77e809733af.png","unit_name":"AAA","fraction_decimals":10,"total":"1000000000000000000","usd_value":"0.003028576765","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2004387843/","collectible":null,"creator":{"id":3393542486073652700,"address":"UEGWPA7OU36MJZUNJGUHBZHTGAHXCT3M3RDZWSWATW5FJFN4GGMFMHU7UI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2021905123,"name":"Lofty 1 Coolwood Dr","logo":null,"unit_name":"LFTY0410","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2021905123/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2031930691,"name":"Coq Inu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/0d031ec54ba549ac902a7e5699ac0f5f.png","unit_name":"COQ","fraction_decimals":4,"total":"694200000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2031930691/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2032033778,"name":"Big Red","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/7f3531d0e99f4af089f18bc3e06908e7.png","unit_name":"$Td","fraction_decimals":6,"total":"1000000000000000000","usd_value":"0.000001879716","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2032033778/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2032064107,"name":"Kimbo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/24/1ce97307d79042a0b47b048f0440563e.png","unit_name":"KIMBO","fraction_decimals":6,"total":"69420000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2032064107/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2034194087,"name":"Algobagners","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/06/21/f09d5448f0124f96b10a87bb241ed8ea.png","unit_name":"BAGNERS","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2034194087/","collectible":null,"creator":{"id":3604831712142988300,"address":"TEGPPBB52XA6QRDKTVXOGERALA7VXYEW4P3HKLRQ5IVPJWUS4VQUWRTHYI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2065944898,"name":"Lofty 503 Colorado Street Unit 4","logo":null,"unit_name":"LFTY0408","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2065944898/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2141212347,"name":"Pelotarand","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/03/d5d1846629644348bdc69c05091124b6.png","unit_name":"Futbol","fraction_decimals":3,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2141212347/","collectible":null,"creator":{"id":3578705220534302000,"address":"3WOWQ5DWHGTETYQV4MOZZSUPQM73YCENTKHVZ43X3OVI5OVYFQOF4GPEGI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2142873258,"name":"Lofty 14705 Fairland Dr","logo":null,"unit_name":"LFTY0415","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2142873258/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2153663700,"name":"BabyRaptorCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/23/cb7f1e5a8b1b4e02a575881f201323eb.png","unit_name":"BRC","fraction_decimals":4,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2153663700/","collectible":null,"creator":{"id":3607914746027168300,"address":"WHDRS2THWJELBI3OF2M4VWPMLRKBOSMAILKLANOEYYKSWUNGOI32CJSPRY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2154668640,"name":"MoonJuiceRocketFuel","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/12/20/d8065f1a8f2f4f32b62d963cc6f4e200.png","unit_name":"MOOJ","fraction_decimals":8,"total":"2100000100000000","usd_value":"0.009753828912","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2154668640/","collectible":null,"creator":{"id":3607996198553579000,"address":"STV2SJ7EDBJ6ZW4SLJE5BDNF5573IAEVGY35GBKS6IHU5LUWGSCDO5UX5E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2158057006,"name":"Lofty 6601 E Hearn Rd","logo":null,"unit_name":"LFTY413","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2158057006/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2168458266,"name":"Nature Discovery Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/15/b5bc185ea81444b7a7b6ab5cf9a52a6d.png","unit_name":"NaDi","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2168458266/","collectible":null,"creator":{"id":3608699755088786400,"address":"NADI2DRZNBH2S4GUERNGFPMJTOSZUVSFCT6QOTUPNCB5P7MRHAWESQ33BA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2171748140,"name":"Lofty 15 Wilshire Blvd","logo":null,"unit_name":"LFTY0417","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2171748140/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2178986920,"name":"Reity-00001","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/06/ae44249d6ee641eca230d06194646b01.png","unit_name":"RTY-0001","fraction_decimals":0,"total":"800","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2178986920/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179003307,"name":"Reity-00002","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/07/dac4d3d08e5e4b77a67b1e26d79d1a1c.png","unit_name":"RTY-0002","fraction_decimals":0,"total":"515","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179003307/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005485,"name":"Reity-00008","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/ac708f989e8c41aab4221d79a2194c0e.png","unit_name":"RTY-0008","fraction_decimals":0,"total":"789","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005485/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005643,"name":"Reity-00009","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/c4c647b336af415eb72fab4a6c4870d3.png","unit_name":"RTY-0009","fraction_decimals":0,"total":"663","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005643/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005793,"name":"Reity-00011","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/8c896256c6cd4e268efac51e7bd4b2f4.png","unit_name":"RTY-0011","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005793/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179005878,"name":"Reity-00012","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/009ab99f56e641f0a91bebaac03eec8c.png","unit_name":"RTY-0012","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179005878/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006117,"name":"Reity-00013","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/5d08175dae524a3fadd09d3f330e2836.png","unit_name":"RTY-0013","fraction_decimals":0,"total":"1065","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006117/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006208,"name":"Reity-00014","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/877f53c240e64416b8e0b477bb7a0c91.png","unit_name":"RTY-0014","fraction_decimals":0,"total":"985","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006208/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006383,"name":"Reity-00015","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/f67f71ac862a4afeafd5f601a475f489.png","unit_name":"RTY-0015","fraction_decimals":0,"total":"1035","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006383/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006553,"name":"Reity-00049","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/6b793b261e2b4d09a38980dff1499677.png","unit_name":"RTY-0049","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006553/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006602,"name":"Reity-00050","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/4811c9d652aa49f688d7738ddc7597bf.png","unit_name":"RTY-0050","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006602/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006698,"name":"Reity-00051","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/b3e13e6f8fbd46d1982c2dcc5a41010a.png","unit_name":"RTY-0051","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006698/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006831,"name":"Reity-00052","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/cd83c93551bc4fb084ad0977092512b4.png","unit_name":"RTY-0052","fraction_decimals":0,"total":"991","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006831/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179006900,"name":"Reity-00053","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/e19a73e5d62f45328b8aea62e38d7e21.png","unit_name":"RTY-0053","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179006900/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007017,"name":"Reity-00054","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/4f942daa207b4f39bde65ccabf9bd98a.png","unit_name":"RTY-0054","fraction_decimals":0,"total":"2120","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007017/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007095,"name":"Reity-00055","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/d35a3a67a25942ec9cb2f9392bddab0e.png","unit_name":"RTY-0055","fraction_decimals":0,"total":"949","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007095/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2179007311,"name":"Reity-00061","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/42ad3d58e273434ab65844bee875a404.png","unit_name":"RTY-0061","fraction_decimals":0,"total":"936","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2179007311/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2188136626,"name":"Reity-00062","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/25/ad1fd4388afb457f83962790c4973dc9.png","unit_name":"RTY-0062","fraction_decimals":0,"total":"822","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2188136626/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2189310640,"name":"Dogocoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/23/0a30e6c66a304be0b241f9d522ec9403.png","unit_name":"DOGO","fraction_decimals":0,"total":"71000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2189310640/","collectible":null,"creator":{"id":3610760818499102700,"address":"NNL4TJXASL36CBIJLYRH4TEUCVPU6W6Q7PCKDQYFV3CGZJ34PNZUVTH7OE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2189603070,"name":"Lofty 217 McClallen Dr","logo":null,"unit_name":"LFTY0323","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2189603070/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2190190220,"name":"POORWIF","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/24/b30a31de5922481dbce5e5af75871cda.png","unit_name":"PW","fraction_decimals":5,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2190190220/","collectible":null,"creator":{"id":3610851050454076000,"address":"KJV3G76ZQXCXX46MQKQFQKLCZEV27SRLZGFOIJUXPW6E2OXR6EKO55C4ZI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2190997399,"name":"Popcorn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/25/b90750a113bc4c22ad928812faab8e8f.png","unit_name":"PCORN","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2190997399/","collectible":null,"creator":{"id":3610947277181418500,"address":"JU7ESXFOKCICHVUBEWMABVQPRLDYRHYTFMIGYB7WIXEF6U7GDIDJ3WO7XY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200000000,"name":"TINY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/29/238ed21b2e2c4ce9a5a11a7cfe4c50aa.png","unit_name":"TINY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.024665670526","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200000000/","collectible":null,"creator":{"id":3611727404288449500,"address":"TINY2IS2LVHYXH6YCVXMRKWET5YTMAUXOTGAMLVYKTJGQOEKNB2BZ6TINY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200403278,"name":"Brett","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/31/359d6136622044029ad0d72efd5d2b0c.png","unit_name":"BRETT","fraction_decimals":6,"total":"9999997602000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200403278/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2200421096,"name":"mfercoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/07/31/153ae95d3d954e7d9a4146f77e3319b5.png","unit_name":"$mfer","fraction_decimals":6,"total":"999998066000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2200421096/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2205554793,"name":"Lofty 999 Canyon Rd","logo":null,"unit_name":"LFTY0404","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2205554793/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2209482843,"name":"GOD CAT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/03/3082c4828a6b4f7ca4b21cdd599bc090.png","unit_name":"GODCAT","fraction_decimals":7,"total":"10000000000000","usd_value":"0.001585543518","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2209482843/","collectible":null,"creator":{"id":3612460804666280000,"address":"V2X6VAYI3PI4KT3IXDMEX7ZXPQTEIGMIF2WISPNGZZX4AFE2QVCDOBHUCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2212390575,"name":"RobotGPT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/03/81417addf4b4455f843a206da96b2aef.png","unit_name":"$GPT","fraction_decimals":7,"total":"210000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2212390575/","collectible":null,"creator":{"id":3612754028768747000,"address":"ZLAEKEQPVCCFHTZ5RVXLUO4Z6I5EPUVO55NMGVWIEVXXKLCCCU75WXIAEY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217382894,"name":"Lovely Toy Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/01/c8f0d57bd6f34296a02c68ca001427bd.png","unit_name":"LTT","fraction_decimals":2,"total":"120000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217382894/","collectible":null,"creator":{"id":3613161982316958700,"address":"LTVCM6JPYCZ4CFQROAABEKRQR22AOTOKJRJ4P2HS66UZAIVHTADCN4HDME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217452732,"name":"MILKIE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/07/cd009c7ad5fb445990538b162f1d46cd.png","unit_name":"MILK","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217452732/","collectible":null,"creator":{"id":3613168430875698000,"address":"2KAKWWHSPNSNSGQ4XU2HOMA4LWCSYQLHQJMHUWCUZOTQLZIYJDQ76VQD4Y","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217742127,"name":"Pineapple","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/06/0ff5fe9e6cd14280a4e9bd673184f7f0.png","unit_name":"PAPPL","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217742127/","collectible":null,"creator":{"id":3612948463063886300,"address":"YADXHRH5SDXUZDZDGRWBDCX42ZNVVQTWCCYELDMJXINK7DZPRIRQUVZNXQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2217970766,"name":"TINU","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/06/c517ad18e0f64bc3a2b2a3ae71dfc0af.png","unit_name":"TINU","fraction_decimals":5,"total":"21000000000000","usd_value":"0.000005280537","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2217970766/","collectible":null,"creator":{"id":3613232734814163000,"address":"DOTEZTWN3UL5MWETYIGGE7KBPZCMLIX5HQM2TEDAKXMEXDTJBTJEV2DJOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2219072165,"name":"Lofty 1317 South Solano Dr","logo":null,"unit_name":"LFTY0420","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2219072165/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506576,"name":"Reity-00003","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/77c9190247c148c28a31cbcd97509c75.png","unit_name":"RTY-0003","fraction_decimals":0,"total":"635","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506576/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506851,"name":"Reity-00004","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/09/0947e89f85ba4adeba47b7ed4ccbea24.png","unit_name":"RTY-0004","fraction_decimals":0,"total":"643","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506851/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224506985,"name":"Reity-00005","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/50e66639e7e446428e9b6b49735e9936.png","unit_name":"RTY-0005","fraction_decimals":0,"total":"725","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224506985/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2224507146,"name":"Reity-00006","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/12/8ac05fcc08b04deea8b0f1d3290b80cc.png","unit_name":"RTY-0006","fraction_decimals":0,"total":"720","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2224507146/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2225023532,"name":"PLANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/10/b42a0943633c4d9cb38d0f510c7adb53.png","unit_name":"PLANK","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2225023532/","collectible":null,"creator":{"id":3613988087539997000,"address":"FWOR2UZONUKWBTHA2O725Q6K5QPIYCEWAMKJ7WNG4EHGXUDDVHJ3UHOU7E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2225389245,"name":"BRO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/12/8f4d9daea59d4bbea9fad3cdf31a2477.png","unit_name":"BRO","fraction_decimals":7,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2225389245/","collectible":null,"creator":{"id":3613797483211647000,"address":"VB7Y3JMFFUAZT2NLMHYZ535DZKLYMYQJZR3W5PWIWXVXHL4S42AZSRQRPA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2229464160,"name":"Reity-00063","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/48097c84fbf24b9eb60ae14296904be3.png","unit_name":"RTY-0063","fraction_decimals":0,"total":"3780","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2229464160/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2231655812,"name":"Lofty 516 E 2nd St","logo":null,"unit_name":"LFTY0418","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2231655812/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2232709534,"name":"WOJACK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/14/a5e2bfa27b724f8ba06adfa9bc184476.png","unit_name":"WOJACK","fraction_decimals":7,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2232709534/","collectible":null,"creator":{"id":3612460804666280000,"address":"V2X6VAYI3PI4KT3IXDMEX7ZXPQTEIGMIF2WISPNGZZX4AFE2QVCDOBHUCE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2234296099,"name":"Tangerine","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/14/7db087bd1fe349779a0cc8b588134692.png","unit_name":"TANG","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2234296099/","collectible":null,"creator":{"id":3508387562481593000,"address":"B62FQCUV6IOUM44PQPLKC32LG7UTHTYZND3CX3GNCVZK5S7RAKOEDANO6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2234720097,"name":"PartyCatsWorldwide","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/20/ef5aa2fa20d14a62b72819576ce358d3.png","unit_name":"PCW","fraction_decimals":6,"total":"500000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2234720097/","collectible":null,"creator":{"id":3403698065238691000,"address":"J4RH5UT6ZUXLYNBEF23VKEU3YT3YB7PPXXNWRAXO4KIFLJTSEQJQZU3EAQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2247034585,"name":"Gunny Rush Rank","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/22/e1a564bc827045f986c172618a65875d.png","unit_name":"GRR","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2247034585/","collectible":null,"creator":{"id":3553522980505974000,"address":"LMJ7QHICHJIFK3QQCAXKI7T3YVOI5TOHVSVO4O2I4XAZKPC2GD4L7HR2W4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2248486597,"name":"Lofty 1190 Ridgetop Ave","logo":null,"unit_name":"LFTY0426","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2248486597/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2250315158,"name":"MELON","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/08/21/b390d5c340ee44efa75417d139d73e02.png","unit_name":"MELON","fraction_decimals":5,"total":"1000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2250315158/","collectible":null,"creator":{"id":3616019270052090400,"address":"YE6KS62XUBK3IPUMD6HYADTOY3245RPH5WX7YLISMLM36KR2CJE4ZK4FJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2265398863,"name":"Lofty 3560 Saint Albans Rd","logo":null,"unit_name":"LFTY0423","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2265398863/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2275998523,"name":"Rich Cats","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/3e26354633ce444cb29c3e740319ea1b.png","unit_name":"NALA","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2275998523/","collectible":null,"creator":{"id":3618226406623345700,"address":"FFQCZSLPXSOMKMIID53PEOBBJZFHWS2IQEDE3HWUNSKWEHOSUJEGYE27PA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2276009647,"name":"LANK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/3371f014091b4df0a13710d7c470e0ac.png","unit_name":"LANK","fraction_decimals":7,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2276009647/","collectible":null,"creator":{"id":3618230607143600600,"address":"MHVUBRTMGQSZEKYINI3PM3VIDFROMZNCCRACJEN4II3SMRHIBVSEP7KWLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2277546303,"name":"MEMEI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/03/c9ae53f4a0194f11a2d5804d7f339e8e.png","unit_name":"MEMEI","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2277546303/","collectible":null,"creator":{"id":3618381402773447700,"address":"CHABO5BMBBF32X72WP4SDQHFJDRUYXRVVF2XRVHYZMEXUUAO6TKYO2C7GI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2279886826,"name":"Network Marketing Insider ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/05/74d3d8bf7cf04b7e8953887292cdcd1a.png","unit_name":"NMI","fraction_decimals":0,"total":"1000000","usd_value":"0.011129062383","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2279886826/","collectible":null,"creator":{"id":3618423824741051400,"address":"FY5VZYSXZ2Z74VOGAKHS4AF7S6YQ4ZT76COQ437NXXDOHV5ZXSD3W3WEOE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2279936615,"name":"Lofty 5333 Ponte Tresa Dr","logo":null,"unit_name":"LFTY0407","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2279936615/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2290771151,"name":"TMI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/14/d275bebf94674e4cbeb5756418e1e487.png","unit_name":"TMI","fraction_decimals":7,"total":"1000000000000000","usd_value":"0.643369443406","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2290771151/","collectible":null,"creator":{"id":3516106904534409700,"address":"B5TRCMP7IDCX76LVT62DESSWYZT73KOKD3KEQTYEMN4WIADPBOZ2ZSLOYA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2290967272,"name":"Lofty 11604 D K Ranch Rd","logo":null,"unit_name":"LFTY0416","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2290967272/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2291324873,"name":"Wealthwave","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/11/1c765917b1ec4abebd532285392bf847.png","unit_name":"Wave","fraction_decimals":7,"total":"1000000000000000","usd_value":"0.000445741501","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2291324873/","collectible":null,"creator":{"id":3612678392885250000,"address":"E2EDCIS2COSRINPU7ZQYHEOS6ABUJL7HV2C5UAFYHAUVCNP66OH3KTUCEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2297036005,"name":"Fuck The Tech","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/24/68f5f310064043168cb392b93004b630.png","unit_name":"FTT","fraction_decimals":5,"total":"6942000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2297036005/","collectible":{"title":"Fuck The Tech","standard":"arc69","primary_image":"https://algorand-wallet-mainnet.b-cdn.net/media/collectible_primary_images/2024/09/14/1a331895071f47e2ad5c57e9ae655718.jpeg","media_type":"image","explorer_url":"https://explorer.perawallet.app/assets/2297036005/","collection":null},"creator":{"id":3620391593933112000,"address":"4SI6JOJTJL7AXVOBZ5GHMF4RH2RWNTRWS47RLAQCXZVT2Z2GU6DLNWNJX4","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":2301975955,"name":"Lofty 5424 49th St","logo":null,"unit_name":"LFTY0414","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2301975955/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2315210710,"name":"BULGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/23/6d54a8446f694c81870403fd61985960.png","unit_name":"BULL","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2315210710/","collectible":null,"creator":{"id":3618226406623345700,"address":"FFQCZSLPXSOMKMIID53PEOBBJZFHWS2IQEDE3HWUNSKWEHOSUJEGYE27PA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2318243396,"name":"Lofty 1415 Race St","logo":null,"unit_name":"LFTY0428","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2318243396/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2318248555,"name":"Lofty 997 Canyon Rd","logo":null,"unit_name":"LFTY0422","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2318248555/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2320775407,"name":"Aramid VOI","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/09/28/384c7a7581e048739fe4679affad8d53.png","unit_name":"aVoi","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.001172861412","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2320775407/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2320804780,"name":"Aramid ALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/11/f80928a7ae3d4443ae20255e70ee6081.png","unit_name":"aAlgo","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.189876727680","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2320804780/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2327984798,"name":"Bwom","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2024/11/04/e177f34eff9641f493b1760db840d180.png","unit_name":"BWOM","fraction_decimals":6,"total":"3000000000","usd_value":"2.020171834142","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2327984798/","collectible":null,"creator":{"id":3620746471471059000,"address":"FIYXOP47SL4CFPONBGJIBYWLNURLGDUMAVJCDSJXWWP7PZE6MK2IWB5RNQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2330578178,"name":"Reity-00065","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/3a807f640bff49ebbfa76fd8eec3d2b6.png","unit_name":"RTY-0065","fraction_decimals":0,"total":"914","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2330578178/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2333091821,"name":"Lofty 752 Gelaso St SW","logo":null,"unit_name":"LFTY0437","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2333091821/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2335487596,"name":"OasicChiroCoin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/06/87e142c7a83e4949a931ed62a6325871.png","unit_name":"OCC","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2335487596/","collectible":{"title":"OasicChiroCoin","standard":"arc3","primary_image":null,"media_type":"unknown","explorer_url":"https://explorer.perawallet.app/assets/2335487596/","collection":null},"creator":{"id":3613308024083490000,"address":"H6TDBALU35MRCOHAGOOQLS2A6G77RHXNLBBOF2FLN5UOBWADDHFBSF4DUY","is_verified_asset_creator":false},"type":"collectible","category":null},{"asset_id":2342621554,"name":"Infinite Potential Token ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/11/0a0e828f72c146af9351aa8d9cada198.png","unit_name":"IPT","fraction_decimals":7,"total":"100000000000000","usd_value":"0.004172394471","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2342621554/","collectible":null,"creator":{"id":3623548934961995300,"address":"IPT5B4225D2JLPS4PBZI7G5LXNPZVM4HM2HYHULRZWH5R6G6FAHVIEXMAU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2349361152,"name":"Lofty 25 Rocky Ridge Rd","logo":null,"unit_name":"LFTY0409","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2349361152/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2355825811,"name":"Reity-00066","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/f9d32c8ca9db45cd83426e238050a67f.png","unit_name":"RTY-0066","fraction_decimals":0,"total":"7590","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2355825811/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2364434013,"name":"WARTHOG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/18/410c306f8fc8417c9fa1a899cf97d5a9.png","unit_name":"WAGGY","fraction_decimals":8,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2364434013/","collectible":null,"creator":{"id":3625778617260497400,"address":"57G2GKU4N43S6UQ25OM5FO6XIQ7QHX45ACZXOK2KWIIN6IN6MALIZ4QIEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2369581852,"name":"Lofty 61622 El Reposo St","logo":null,"unit_name":"LFTY0440","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2369581852/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2382703723,"name":"Vertex","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/21/919ed24c39054b6f9c6c81ab110f2914.png","unit_name":"XVX","fraction_decimals":10,"total":"50000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2382703723/","collectible":null,"creator":{"id":3626725601723170000,"address":"XVXAMAUZSUNRC3GL7PD7LJRLJX2RGEPUIIARFMXEOJLP44KM66ZCWIKFMQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2389089933,"name":"compoundr","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/30/d391485c30664c9b85c4ef7455449444.png","unit_name":"CMPD","fraction_decimals":0,"total":"1000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2389089933/","collectible":null,"creator":{"id":3623647680990819300,"address":"CMPDPCYEH67CLZSVLYL7QWHFIPRJC5UR5U5JLRI2R5N5IC7M7QY2QZOCYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2390875774,"name":"Lofty 6251 Cahuilla Ave","logo":null,"unit_name":"LFTY0436","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2390875774/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2399091932,"name":"ARG","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/25/cf706cbdf61e4a7bb77ef4e92c1c52a3.png","unit_name":"ARG","fraction_decimals":0,"total":"26000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2399091932/","collectible":null,"creator":{"id":3494427169867551000,"address":"XTZNP63VHIX6LJTQ7A55MDF6UARGBMRPJUPGNCFPP3GO6GDBOCFCPCZ7IU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2400334372,"name":"cAlgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/10/25/e234be416f74458f86f842744e2ddc05.png","unit_name":"cAlgo","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.185747104968","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2400334372/","collectible":null,"creator":{"id":3591525860785715700,"address":"UVNDN2Y6YR25JX4G6W5SIGFSPDZSEAM5RODOB74YQ6YEVJVNGHGZUT454M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2413037774,"name":"REA Rewards","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/02/1d2cf5d8ac4341d18800461a9682794e.png","unit_name":"REAR","fraction_decimals":8,"total":"1000000000000000","usd_value":"0.002820881583","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2413037774/","collectible":null,"creator":{"id":3618866181619478000,"address":"2CKXF7FHBOZVJA4N5UF4OYOGLDTI3IBP7XLDPSKHF2QMYPZOGKKMR7A2U4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2416863295,"name":"Lofty 605 Squires Row","logo":null,"unit_name":"LFTY0441","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2416863295/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2450411553,"name":"Vivit","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/05/5c389719180747dfa0d6c89597f62705.png","unit_name":"VIVIT","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000161761299","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2450411553/","collectible":null,"creator":{"id":3629702496348236000,"address":"WLFGEFTAPQYPGW5NFX3462BBREEC3RGTIBJRY4FTVT3JC7EOT7Z62KWEUE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2450920184,"name":"Lofty 5 Warwick Pl","logo":null,"unit_name":"LFTY0434","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2450920184/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2456033705,"name":"FanBet","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/01/04/700250bbb2d346c59629d2155574e4ee.png","unit_name":"FBET","fraction_decimals":4,"total":"1100000000000","usd_value":"0.000208629062","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2456033705/","collectible":null,"creator":{"id":3592707757127942700,"address":"TIA2KQAOK6AZTROWSUBECAD2AJIYBZLOH27745T5D4SA6SMAJETQF3KJTI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2460407890,"name":"VirtualMoonMatrix","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/12/466c2cf7bec140d5a0a8b3eb5ab0006c.png","unit_name":"VMM","fraction_decimals":2,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2460407890/","collectible":null,"creator":{"id":3613308024083490000,"address":"H6TDBALU35MRCOHAGOOQLS2A6G77RHXNLBBOF2FLN5UOBWADDHFBSF4DUY","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2462353373,"name":"Reity-00067","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/fabb12cdb1494d18a5da1cd388c4285b.png","unit_name":"RTY-0067","fraction_decimals":0,"total":"914","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2462353373/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2466866698,"name":"Marcus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/11/b117cc0f1cb24b859d83c82f1b75a7de.png","unit_name":"MARCUS","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.000092549495","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2466866698/","collectible":null,"creator":{"id":3626902260179628500,"address":"MARCUSHJ7XFPZZUQRDY4OKE3DV37D5YCJUL46OZO2QRZGKF3ELMXICIWWE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2475903985,"name":"DREME","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/20/d6f5ca022b134a298afb43906e3b86ca.png","unit_name":"DREME","fraction_decimals":6,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2475903985/","collectible":null,"creator":{"id":3616806061484350500,"address":"IKJIDPNQUXZ2LZO5DJRYBPLBKHETIWUB3HQBEKKCVR3OQH5AAVNSY4UFLI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485198745,"name":"Fry VPN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/15/8c462337e4ba48b6bdd0783f62cd3d1c.png","unit_name":"fVPN","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485198745/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485202024,"name":"Fry Node","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/15/02752e6e7e084f2cabf2a20346ec47c8.png","unit_name":"fNODE","fraction_decimals":6,"total":"2000000000000000","usd_value":"0.003983563690","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485202024/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2485314946,"name":"Fry","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/13/52332bc56f244f59978fc93c39087713.png","unit_name":"FRY","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.281957415016","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2485314946/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2516625598,"name":"Wrapped liquid staked Ether 2.0","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/20/8325641ef47d431fb92eab80564e3cf7.png","unit_name":"wstETH","fraction_decimals":6,"total":"6000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2516625598/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2516674924,"name":"Mog Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/20/6ff6a049340d4e7a98cf12cd5a6f5e27.png","unit_name":"Mog","fraction_decimals":3,"total":"420690000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2516674924/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2518429100,"name":"Lofty 326-332 S Alcott St","logo":null,"unit_name":"LFTY0316","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2518429100/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2518721081,"name":"xMcRib","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/19/475259a3026e427287a777e726bc5b0a.png","unit_name":"xMcRib","fraction_decimals":6,"total":"5390000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2518721081/","collectible":null,"creator":{"id":3620751838882054000,"address":"WKFFDMYHSUXO4XYOMHH7WXQ77YNLWYRO63K3PLSITWBL4HIOMNG4JHL2HQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2537013734,"name":"tALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/af91b609d1364a66a83b9fc22db9e094.png","unit_name":"TALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.190856009648","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2537013734/","collectible":null,"creator":{"id":3633404117341380000,"address":"EP2YRTCL3SAA7HYG7KKWUC6ZH36SLYIKOX4FORKXZLUUQASP5JDJP4UU5A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2537023208,"name":"Staked tALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/25/0fc08ab223db4fff9111605a8c2ac01c.png","unit_name":"STALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":"0.190856009648","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2537023208/","collectible":null,"creator":{"id":3633404594147372500,"address":"7CUF7J3QIVSOG4537G6YT66EOIJO2M2WSPUVEAJSC4NE3CTKDO4OBCDOJU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2541028868,"name":"Lofty 2208 Murray Ave","logo":null,"unit_name":"LFTY0424","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2541028868/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2551460554,"name":"Bad Santa","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/30/b0d8524a89da4f2fac3d501663b0830c.png","unit_name":"BadSanta","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2551460554/","collectible":null,"creator":{"id":3634214376704401400,"address":"63NAXOFCAVVN3HONGRMTOWR32LSXM2JHFZL2BBHIUN3XXPHH6JYFLNOGFU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2553676406,"name":"TroySolidus","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/11/30/9cdff03407c046ab802d6923b6ce0638.png","unit_name":"TROYSOL","fraction_decimals":4,"total":"10000000000","usd_value":"0.119064251027","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2553676406/","collectible":null,"creator":{"id":3633836777401055700,"address":"IHG5DC2S654HJLWM5CWBFDQFWVJMV76X52EVCSNSXMADDYX7JGKJ2Z4SOI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2561491694,"name":"Criptomedia","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/09/0150c5ddfe51493a9e2c36b0e22690fa.png","unit_name":"CMD","fraction_decimals":4,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2561491694/","collectible":null,"creator":{"id":3378111761846203000,"address":"L27HDHRJRLRGAURFFC4LU5EIKMHRGKWIJWB7IECJS2YNL7FH5SFWJXXNFE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2563045662,"name":"Wojak Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/04/d0d238b98c2742e3b46cd830a36c83d0.png","unit_name":"WOJAK","fraction_decimals":2,"total":"6942000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563045662/","collectible":null,"creator":{"id":3538574389859092500,"address":"CFZCRWD4U3KIZ756FFE7BBSQLNOHCH3BEGMN5GVW4QY57H4IK2J3FH5IG4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2563959048,"name":"PBS_Inc.","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/07/9dcac44e46ea4558af632ea433079768.png","unit_name":"PBS","fraction_decimals":7,"total":"8888888880000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2563959048/","collectible":null,"creator":{"id":3634493102353219600,"address":"L2FLF3OUKJTYP7QZNNEV3QDRSVB4LBEFUXWDED4GDM6ATIESSWKMCQPYRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2564742787,"name":"Lofty 5604 Brownfield Dr","logo":null,"unit_name":"LFTY0444","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2564742787/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2565836556,"name":"Lofty 86 Madison Ave","logo":null,"unit_name":"LFTY0439","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2565836556/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2572874483,"name":"Zappies Coin","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/f2722746726b450d855c2560338bf8d1.png","unit_name":"Zapp","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2572874483/","collectible":null,"creator":{"id":3635306775621175000,"address":"TRTCVCQI5ZNRUBPUEO6A72TVCTFEPYF535GV6O57J7P7BWXU2QWJEGTHQM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2573477873,"name":"Waka-Hare","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/17/4db11e903a14418093de5b540670644c.png","unit_name":"WKH","fraction_decimals":7,"total":"100000000000000","usd_value":"0.000180183040","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2573477873/","collectible":null,"creator":{"id":3634599432363302400,"address":"G7FSBF26XJ5H6DLGVVLR66HZ3NSWJRC5EUUSIHJDJHUHKFKWNHM62QPH24","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2583022095,"name":"KOSH TOKEN","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/11/63438fc1ccd74ba998e5c5cbb93089c9.png","unit_name":"KOSH","fraction_decimals":3,"total":"10000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2583022095/","collectible":null,"creator":{"id":3634571448301844000,"address":"KOSH3N7XUOMGW7QIEK7HYZURX3D2YWILG2OXBGQUHIGIY3I4MIY5DXZHDE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2585708613,"name":"gCYCLE","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/10/fbaea8ae35094743a10f9ff006f87c9a.png","unit_name":"gCYCLE","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2585708613/","collectible":null,"creator":{"id":3564471806914266000,"address":"RV3WOT7762CZUJCH6XPGQQYO2YYUDSY6XEROBLS52JN2KEH4ZXMVL73NSQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2588968193,"name":"Reity-00068","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/11/b7b0d97a69ea445783095e8765a9ba43.png","unit_name":"RTY-0068","fraction_decimals":0,"total":"3848","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2588968193/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2589142195,"name":"Lofty 1935 S Glen Rd","logo":null,"unit_name":"LFTY0433","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2589142195/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2591862562,"name":"UNIT","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/02/a2431a1dd8ca4ebaaa0a55ba041c54dd.png","unit_name":"UNIT","fraction_decimals":8,"total":"18446744073700000000","usd_value":"0.261505416511","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2591862562/","collectible":null,"creator":{"id":3470111626316766000,"address":"ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2592130521,"name":"Dime","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/12/86af33f6430b455689c6ead737e57dc2.png","unit_name":"DIME","fraction_decimals":6,"total":"100000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2592130521/","collectible":null,"creator":{"id":3517179567477980700,"address":"7IFQKOKQQRVQGRDAPU7OXOOKRN3KZ5JQLIA3NVVWKXTNEN7P4EEI5CKT2A","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2606098683,"name":"GREAT TOKEN ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/03/beeea440861140a6add75ad773d1a973.png","unit_name":"$GT","fraction_decimals":0,"total":"100000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2606098683/","collectible":null,"creator":{"id":3636979372269347300,"address":"UYFY64MTUKY56HTERIJZGVZXJXXOALQ64WIQSDI5H22AXKHLPCJ6AFJYM4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611138444,"name":"Folks V2 xALGO","logo":null,"unit_name":"fxALGO","fraction_decimals":6,"total":"10000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611138444/","collectible":null,"creator":{"id":3637410201171543600,"address":"YO4ZOK3AEX4YDMOBIYLQUYHO75YPCIOD24PR6KIAVHUW5TZ4OCPSXV6BQE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611201415,"name":"Lofty 8 Acres in Wawarsing","logo":null,"unit_name":"LFTY0429","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611201415/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2611223991,"name":"Lofty 8848 N 95th St #K","logo":null,"unit_name":"LFTY0442","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2611223991/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2625905138,"name":"CATS","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/23e6194dada242e79acb3d54cfbde133.png","unit_name":"CATS","fraction_decimals":5,"total":"2100000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2625905138/","collectible":null,"creator":{"id":3638135420474959400,"address":"HJYYQWRWVO6PVINGLHDABVCU4Y2VJEF4XZYDL7LRMQPD3YNKHS7N6L3FPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2625922527,"name":"Ghostgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/22/ae3be721a62a42288bdf87f460afaa3e.png","unit_name":"Ghostgo","fraction_decimals":5,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2625922527/","collectible":null,"creator":{"id":3636774009791014400,"address":"UCSHEX7NEEF72MQYPKBOSGMSDJYBN7J6X4JHOFDKO7FS7HYZSM5MBSAFUU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644450935,"name":"AGENTALGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/876f9bf4daf14505a7c1f0e12893b194.png","unit_name":"AGENT","fraction_decimals":5,"total":"21000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644450935/","collectible":null,"creator":{"id":3639509786641035000,"address":"SPLXISJ3GEW2MC6YN3LLSFV6LFD23FV5ZZY7W4WLHZNG35EYSPBXBB7JI4","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644464753,"name":"JOHNNY","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/9aa7f2ca95124700831a6286a014a817.png","unit_name":"JOHNNY","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644464753/","collectible":null,"creator":{"id":3639507813279346000,"address":"KTGWFCU7QG6QEYIEN7MZE5V3M7T2VZIGBD6IMDAX4P2SSSCE5FJSFBZNBI","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2644742542,"name":"FuckTerabro 🤖🔨","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/29/6f2e9825e39b40e9858ee9b6a891ab47.png","unit_name":"FUCKAI","fraction_decimals":8,"total":"2100000000000","usd_value":"0.037661561449","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2644742542/","collectible":null,"creator":{"id":3378111761846203000,"address":"L27HDHRJRLRGAURFFC4LU5EIKMHRGKWIJWB7IECJS2YNL7FH5SFWJXXNFE","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2646395255,"name":"Hug","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2024/12/30/d8976b4e608f4f0b851ac17baa9e7bd4.png","unit_name":"HUG","fraction_decimals":6,"total":"10000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2646395255/","collectible":null,"creator":{"id":3639643774186092000,"address":"Z7SLOJTIFHSQS4IMA5Y67AL4IFLEQQLJM3PNSOJSC3WJF4SRN6H3BX4BII","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2663780228,"name":"Drop Token","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/05/49d6140f50b34386a243142901c2fe7f.png","unit_name":"DROP","fraction_decimals":8,"total":"10000000000000000000","usd_value":"0.000000030108","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2663780228/","collectible":null,"creator":{"id":3640904245209186000,"address":"73PUSOEICSP5EAZ2SK3UT5QAUB4XP6VN2NJICHKJ4MVIIYBHXIUUCOE56I","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2669995238,"name":"Lofty 2221 E Chase St","logo":null,"unit_name":"LFTY0432","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2669995238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2670676592,"name":"TRMNL","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/6cfd76d2c6234d868317fb01a814944d.png","unit_name":"TRMNL","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670676592/","collectible":null,"creator":{"id":3641306608696157700,"address":"3VUXIUBXT5HRDNIL5DGUD4FECUNEMGJ6LFQCY2PZMBLPEHZ6LXDTUZ27BM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2670682762,"name":"AgentX","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/08/86ee05b231484767981e109cd15d4e85.png","unit_name":"AGX","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2670682762/","collectible":null,"creator":{"id":3641306454177753600,"address":"2CAV5BGCX3RTSMRURAZHANX7OEDIFZFLM676A6VJ2O4AIV34VDJMPIHBOU","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2678128523,"name":"Reity-00069","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/13/3178dac528f04380a5a803d35e65bb26.png","unit_name":"RTY-0069","fraction_decimals":0,"total":"3859","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2678128523/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681521901,"name":"Test Fry","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/30f0bf5fe59f48d4853b92e08b104e2e.png","unit_name":"tFRY","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681521901/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681522390,"name":"Fry Weather","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/e407fa21b5ee41feae7267ec478a2f59.png","unit_name":"fWX","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681522390/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681524108,"name":"Fry Air","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/9cf793cfeab648f2a7c806c40a79ef71.png","unit_name":"fAIR","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681524108/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681527686,"name":"Fry Camera","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/ddf9d3bd20ea4ed89a284dde79880794.png","unit_name":"fCAM","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681527686/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681528493,"name":"Fry Water","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/d5cb2e1503ad4efe8c262acb5ff39aa0.png","unit_name":"fH2O","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681528493/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681529600,"name":"Fry Sound","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/941bcede71fb4769b2c05acc2a58e87b.png","unit_name":"fDB","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681529600/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681532257,"name":"Fry Satellite","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/afa29aa9216542fc81fdfab2e2955f60.png","unit_name":"fGNSS","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681532257/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681534311,"name":"Fry Radiation","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/d77c9035abb54e71bf1020011f6ecb05.png","unit_name":"fRAD","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681534311/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2681539504,"name":"Fry Energy","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/assets-logo-png/2025/04/11/4fbd54469ed84d35a6f9d297921ca602.png","unit_name":"fKWH","fraction_decimals":6,"total":"2000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2681539504/","collectible":null,"creator":{"id":3528323409731782000,"address":"ATPVJYGEGP5H6GCZ4T6CG4PK7LH5OMWXHLXZHDPGO7RO6T3EHWTF6UUY6E","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2687499040,"name":"HOOP","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/09/b96cb4891a854d8bb33c57630da2d1ad.png","unit_name":"HOOP","fraction_decimals":6,"total":"100000000000000","usd_value":"0.000054759058","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2687499040/","collectible":null,"creator":{"id":3637726151207293400,"address":"HOOP2PQ7YILSUB6DYLO65RABEEUUOFOJEY6VEUQJGUOD3JGEFF74CTPVLQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2688844808,"name":"Lofty 1048 Hilton Rd","logo":null,"unit_name":"LFTY0419","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688844808/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2688848184,"name":"Lofty 222 57th St","logo":null,"unit_name":"LFTY0443","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2688848184/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2691431035,"name":"VONK","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/15/ffc50979653d431d95086c06ddc55474.png","unit_name":"Vonk","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2691431035/","collectible":null,"creator":{"id":3642663808735206400,"address":"5LULV3VVFN44THLFNMBHIMP2YBX3RK37PKXTYNUNL6QQCVNKRNTSOR3OPQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2693368261,"name":"Bead","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/20/0db73a1b08384532b32c0138310b71dd.png","unit_name":"BEAD","fraction_decimals":6,"total":"1000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2693368261/","collectible":null,"creator":{"id":3642793521604071000,"address":"KBHR52YNV5XDVBOOKQ4OI6Q7PXBQWSDQDTOYBEADP4HFHWY2GYA2IWJDYM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2700230095,"name":"Mr. Burns","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/01/21/33cc3c602b994759adf8cce28a416b66.png","unit_name":"BURNS","fraction_decimals":8,"total":"2100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2700230095/","collectible":null,"creator":{"id":3331964331443790300,"address":"DJAMAANIUZGWSSUJTPDOQ5G3HVYGEEKUU4RWXCAV4GZRKMX3FLQ75WG4WQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2709191298,"name":"Lofty 9901 E Evans Ave Unit 4C","logo":null,"unit_name":"LFTY0441","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2709191298/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2726252423,"name":"Alpha Arcade","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/project_verification_requests_logo_png/2025/02/04/27439fb5280241e2bb8bea34e05fcb81.png","unit_name":"ALPHA","fraction_decimals":6,"total":"1000000000000000","usd_value":"0.004018490847","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2726252423/","collectible":null,"creator":{"id":3644823910388541000,"address":"ARCADEBETGK6UX3OQEKAFQ5RYIQEOKFTAIYEDL5GLMAEHKCOB6CLSW36LA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2746700324,"name":"Lofty 39 Fleetwood Dr","logo":null,"unit_name":"LFTY0457","fraction_decimals":0,"total":"1000000000","usd_value":"50.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2746700324/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2747650621,"name":"DeepSeekInu","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/05/25f603b7f01b4d9aa3ab4fd81911a196.png","unit_name":"DEEPS","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747650621/","collectible":null,"creator":{"id":3646214270976658400,"address":"NE72XDX3PQIMJQXG777OILD5F4SBAZEO3233WNN5VWU6I3H7U6F4COEEEA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2747708162,"name":"ERROR","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/05/033cea37e4b2485b826951835a4b660d.png","unit_name":"ERROR","fraction_decimals":5,"total":"40440440400000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2747708162/","collectible":null,"creator":{"id":3646188970825025500,"address":"EGL6QIOVACS2WJTFG4EH4LB3POUEQVJ5M23MVIPG2CU4A7GEQALQBG7KIQ","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2756485998,"name":"Dogalgo","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/08/52a7c4bfbad14f6d82e4356c9519e7be.png","unit_name":"DOG","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2756485998/","collectible":null,"creator":{"id":3646992525769605000,"address":"FL65SUN5W4A6AST5VMQM5S3HY3VQ4SVMUM57JMW24AXOGFARF2PPMKQNRA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2759957392,"name":"PEGO","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/10/1867463c4ace42ba9e09c47f122e75f6.png","unit_name":"PEGO","fraction_decimals":5,"total":"100000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2759957392/","collectible":null,"creator":{"id":3647270663729664500,"address":"VQB4WH6DOP3OOQVPRZF3MPF6HK4ZNYXRTBWGGLWTE2AW5H7ZOBISDWCIME","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2764304144,"name":"3878 Windermere Rd Lending 2","logo":null,"unit_name":"LFTY0458","fraction_decimals":0,"total":"1000000000","usd_value":"19.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2764304144/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768422954,"name":"Quantoz EURQ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/16/eab7fc611c6049ae97a077c75bcb0ffc.png","unit_name":"EURQ","fraction_decimals":6,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768422954/","collectible":null,"creator":{"id":3647910455140443000,"address":"UALFRIYMF7HTTWPGJCBEKJ2AIROCAQR57SO7ZK7LW2SFXQF6346PSDDU2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768603795,"name":"Quantoz USDQ","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/16/d8b943f8c0ee4b94899086be93f21b92.png","unit_name":"USDQ","fraction_decimals":6,"total":"10000000000000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768603795/","collectible":null,"creator":{"id":3647910455140443000,"address":"UALFRIYMF7HTTWPGJCBEKJ2AIROCAQR57SO7ZK7LW2SFXQF6346PSDDU2M","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2768706941,"name":"Lofty 11400 Linnet Ave","logo":null,"unit_name":"LFTY0040","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2768706941/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2781388570,"name":"Lofty 22164 Umland Cir","logo":null,"unit_name":"LFTY0454","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2781388570/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2787063294,"name":"Reity-00070","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/02/21/3cb511420ff0435bbc3686ad36606706.png","unit_name":"RTY-0070","fraction_decimals":0,"total":"3870","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2787063294/","collectible":null,"creator":{"id":3609872419223043600,"address":"AXQUV5IX2LIVEXZDAGIGAK4NHEXTEGNPET4IP3XRGDQDEICBWZ5A4LFLZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2802062634,"name":"gagn","logo":"https://algorand-wallet-mainnet.b-cdn.net/media/asset_verification_requests_logo_png/2025/03/02/c366793d6c734d2bbbbf360aa741f75d.png","unit_name":"GAGN","fraction_decimals":0,"total":"1000000000","usd_value":null,"is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2802062634/","collectible":null,"creator":{"id":3650511051905784000,"address":"V4PNRHVTJQHNBGIE4ZYUGMTKS5X5HFCNFM57UDXQYOXARGTLFTTEDTDEZM","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2813077109,"name":"Lofty 4506 S Fallwood Ct","logo":null,"unit_name":"LFTY0462","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2813077109/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831387238,"name":"Lofty 12808 Gruss Ave","logo":null,"unit_name":"LFTY0078","fraction_decimals":0,"total":"1000000000","usd_value":"52.880000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831387238/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831454992,"name":"Lofty 1248 S Keeler Ave","logo":null,"unit_name":"LFTY0135","fraction_decimals":0,"total":"1000000000","usd_value":"46.480000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831454992/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831543293,"name":"Lofty 1584 Hampton Rd","logo":null,"unit_name":"LFTY0145","fraction_decimals":0,"total":"1000000000","usd_value":"53.550000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831543293/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831548938,"name":"Lofty 9710 S Avenue L Ave","logo":null,"unit_name":"LFTY0162","fraction_decimals":0,"total":"1000000000","usd_value":"49.430000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831548938/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831842396,"name":"Lofty 230 Seacrest Ln","logo":null,"unit_name":"LFTY0464","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831842396/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831851250,"name":"Lofty 85-104 Alawa Pl","logo":null,"unit_name":"LFTY0452","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831851250/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2831889270,"name":"Lofty 254 Bowmanville St","logo":null,"unit_name":"LFTY0134","fraction_decimals":0,"total":"1000000000","usd_value":"52.310000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2831889270/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834554341,"name":"Lofty 4661 Berta Rd","logo":null,"unit_name":"LFTY0002","fraction_decimals":0,"total":"1000000000","usd_value":"67.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834554341/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834558381,"name":"Lofty 3514 W 123rd St","logo":null,"unit_name":"LFTY0008","fraction_decimals":0,"total":"1000000000","usd_value":"58.710000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834558381/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834566044,"name":"Lofty 4312 E 162nd St","logo":null,"unit_name":"LFTY0010","fraction_decimals":0,"total":"1000000000","usd_value":"59.070000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834566044/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834589644,"name":"Lofty 9634 S Green St","logo":null,"unit_name":"LFTY0011","fraction_decimals":0,"total":"1000000000","usd_value":"58.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834589644/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834595769,"name":"Lofty 4245 E 177th Pl","logo":null,"unit_name":"LFTY0014","fraction_decimals":0,"total":"1000000000","usd_value":"57.090000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834595769/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616057,"name":"Lofty 3038 Sinclair St","logo":null,"unit_name":"LFTY0034","fraction_decimals":0,"total":"1000000000","usd_value":"64.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616057/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616058,"name":"Lofty 445 Lipford St","logo":null,"unit_name":"LFTY0043","fraction_decimals":0,"total":"1000000000","usd_value":"50.260000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616058/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616059,"name":"Lofty 3133 Estes St","logo":null,"unit_name":"LFTY0023","fraction_decimals":0,"total":"1000000000","usd_value":"54.790000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616059/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616060,"name":"Lofty 2724 Chatsworth St","logo":null,"unit_name":"LFTY0038","fraction_decimals":0,"total":"1000000000","usd_value":"49.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616060/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616061,"name":"Lofty 333 Illinois Ave","logo":null,"unit_name":"LFTY0018","fraction_decimals":0,"total":"1000000000","usd_value":"65.350000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616061/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616062,"name":"Lofty 1456 W 85th St","logo":null,"unit_name":"LFTY0072","fraction_decimals":0,"total":"1000000000","usd_value":"47.750000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616062/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616063,"name":"Lofty 4131 Wright Ave","logo":null,"unit_name":"LFTY0020","fraction_decimals":0,"total":"1000000000","usd_value":"59.160000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616063/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616064,"name":"Lofty 5630 Morgan Ford Rd","logo":null,"unit_name":"LFTY0056","fraction_decimals":0,"total":"1000000000","usd_value":"51.810000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616064/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616065,"name":"Lofty 3976 Stillwood Dr","logo":null,"unit_name":"LFTY0028","fraction_decimals":0,"total":"1000000000","usd_value":"57.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616065/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834616066,"name":"Lofty 5003 Deneen Dr","logo":null,"unit_name":"LFTY0017","fraction_decimals":0,"total":"1000000000","usd_value":"59.860000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834616066/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673459,"name":"Lofty 9583 Pagewood Ave","logo":null,"unit_name":"LFTY0061","fraction_decimals":0,"total":"1000000000","usd_value":"55.330000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673459/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673460,"name":"Lofty 2094 W 34th Place","logo":null,"unit_name":"LFTY0082","fraction_decimals":0,"total":"1000000000","usd_value":"47.750000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673460/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2834673461,"name":"Lofty 3024 W 103rd St","logo":null,"unit_name":"LFTY0073","fraction_decimals":0,"total":"1000000000","usd_value":"58.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2834673461/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101609,"name":"Lofty 656 E 126th St","logo":null,"unit_name":"LFTY0120","fraction_decimals":0,"total":"1000000000","usd_value":"46.970000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101609/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101611,"name":"Lofty 25 Circle Dr","logo":null,"unit_name":"LFTY0065","fraction_decimals":0,"total":"1000000000","usd_value":"51.940000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101611/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101612,"name":"Lofty 1090 Diagonal Rd","logo":null,"unit_name":"LFTY0114","fraction_decimals":0,"total":"1000000000","usd_value":"56.340000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101612/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101613,"name":"Lofty 665 Chapman St","logo":null,"unit_name":"LFTY0086","fraction_decimals":0,"total":"1000000000","usd_value":"60.670000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101613/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101614,"name":"Lofty 20413 Kingsville St","logo":null,"unit_name":"LFTY0050","fraction_decimals":0,"total":"1000000000","usd_value":"59.730000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101614/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101615,"name":"Lofty 15711 Grovewood Ave","logo":null,"unit_name":"LFTY0117","fraction_decimals":0,"total":"1000000000","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101615/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101616,"name":"Lofty 7542 & 7656 S Colfax Ave","logo":null,"unit_name":"LFTY0096","fraction_decimals":0,"total":"1000000000","usd_value":"48.910000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101616/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101617,"name":"Lofty 3850 W 17th St","logo":null,"unit_name":"LFTY0111","fraction_decimals":0,"total":"1000000000","usd_value":"46.910000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101617/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101618,"name":"Lofty 3178 W 41st & 9510 Silk","logo":null,"unit_name":"LFTY0108","fraction_decimals":0,"total":"1000000000","usd_value":"47.700000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101618/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835101619,"name":"Lofty 7411 Elton Ave","logo":null,"unit_name":"LFTY0115","fraction_decimals":0,"total":"1000000000","usd_value":"50.490000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835101619/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131766,"name":"Lofty 799 Stadelman Ave","logo":null,"unit_name":"LFTY0136","fraction_decimals":0,"total":"1000000000","usd_value":"52.680000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131766/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131767,"name":"Lofty 8201 Madison Ave","logo":null,"unit_name":"LFTY0122","fraction_decimals":0,"total":"1000000000","usd_value":"46.890000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131767/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131768,"name":"Lofty 1773 Ball Rd","logo":null,"unit_name":"LFTY0124","fraction_decimals":0,"total":"1000000000","usd_value":"49.140000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131768/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131769,"name":"Lofty 1015 Wycomb Dr","logo":null,"unit_name":"LFTY0129","fraction_decimals":0,"total":"1000000000","usd_value":"49.120000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131769/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131770,"name":"Lofty 432 W Peebles Rd","logo":null,"unit_name":"LFTY0133","fraction_decimals":0,"total":"1000000000","usd_value":"49.130000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131770/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131772,"name":"Lofty Ohio 3 Property Package","logo":null,"unit_name":"LFTY0123","fraction_decimals":0,"total":"1000000000","usd_value":"46.870000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131772/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131773,"name":"Lofty 9902 Garfield Ave","logo":null,"unit_name":"LFTY0128","fraction_decimals":0,"total":"1000000000","usd_value":"52.300000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131773/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131774,"name":"Lofty 10724 Gooding Avenue","logo":null,"unit_name":"LFTY0131","fraction_decimals":0,"total":"1000000000","usd_value":"43.020000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131774/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131775,"name":"Lofty 12507 Astor Ave","logo":null,"unit_name":"LFTY0132","fraction_decimals":0,"total":"1000000000","usd_value":"51.760000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131775/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835131776,"name":"Lofty 4551 Sunny View Dr","logo":null,"unit_name":"LFTY0143","fraction_decimals":0,"total":"1000000000","usd_value":"52.300000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835131776/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162400,"name":"Lofty 142 13th St","logo":null,"unit_name":"LFTY0161","fraction_decimals":0,"total":"1000000000","usd_value":"50.830000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162400/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162401,"name":"Lofty 566 Nash St","logo":null,"unit_name":"LFTY0157","fraction_decimals":0,"total":"1000000000","usd_value":"53.570000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162401/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162402,"name":"Lofty 323 E 9th St","logo":null,"unit_name":"LFTY0220","fraction_decimals":0,"total":"1000000000","usd_value":"46.660000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162402/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162403,"name":"Lofty 127 Hausman St","logo":null,"unit_name":"LFTY0322","fraction_decimals":0,"total":"1000000000","usd_value":"48.290000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162403/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162404,"name":"Lofty 542 Sumner St","logo":null,"unit_name":"LFTY0159","fraction_decimals":0,"total":"1000000000","usd_value":"54.330000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162404/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162405,"name":"Lofty 4183 E 146th St","logo":null,"unit_name":"LFTY0148","fraction_decimals":0,"total":"1000000000","usd_value":"50.520000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162405/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162406,"name":"Lofty 13806 Coit Rd","logo":null,"unit_name":"LFTY0160","fraction_decimals":0,"total":"1000000000","usd_value":"52.920000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162406/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162407,"name":"Lofty 26931 Shoreview Ave","logo":null,"unit_name":"LFTY0156","fraction_decimals":0,"total":"1000000000","usd_value":"46.930000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162407/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162409,"name":"Lofty 783 Leonard St","logo":null,"unit_name":"LFTY0202","fraction_decimals":0,"total":"1000000000","usd_value":"51.840000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162409/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835162415,"name":"Lofty 296 Huntington Ave","logo":null,"unit_name":"LFTY0158","fraction_decimals":0,"total":"1000000000","usd_value":"53.030000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835162415/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835184251,"name":"Lofty 1209 Cove Ln","logo":null,"unit_name":"LFTY0333","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835184251/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2835184252,"name":"Lofty 8646 Ford Ave","logo":null,"unit_name":"LFTY0330","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2835184252/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2848033773,"name":"Lofty 745-747 Lenox Ave","logo":null,"unit_name":"LFTY0455","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2848033773/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2867097489,"name":"Lofty 2301 Private Rd 7320","logo":null,"unit_name":"LFTY0421","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2867097489/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2883823670,"name":"Lofty 2305 N 156th Pl","logo":null,"unit_name":"LFTY0459","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2883823670/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null},{"asset_id":2912923916,"name":"Lofty 8094 W Zoe Ella Way","logo":null,"unit_name":"LFTY0461","fraction_decimals":0,"total":"1000000000","usd_value":"50.000000000000","is_verified":true,"is_deleted":false,"verification_tier":"verified","explorer_url":"https://explorer.perawallet.app/assets/2912923916/","collectible":null,"creator":{"id":3403229554827609600,"address":"LOFTYRITC3QUX6TVQBGT3BARKWAZDEB2TTJWYQMH6YITKNH7IOMWRLC7SA","is_verified_asset_creator":false},"type":"standard_asset","category":null}] \ No newline at end of file diff --git a/projects/abel-cli/package-lock.json b/projects/abel-cli/package-lock.json index 33826a0..5b859b7 100644 --- a/projects/abel-cli/package-lock.json +++ b/projects/abel-cli/package-lock.json @@ -7,7 +7,7 @@ "": { "name": "abel-cli", "version": "1.0.0", - "license": "ISC", + "license": "MIT", "dependencies": { "abel-sdk": "../abel-sdk-v2", "dotenv": "^16.4.7", @@ -16,7 +16,9 @@ }, "devDependencies": { "@types/node": "^22.14.0", - "@types/yargs": "^17.0.33" + "@types/yargs": "^17.0.33", + "tsx": "^4.19.3", + "typescript": "^5.3.3" }, "peerDependencies": { "@algorandfoundation/algokit-utils": "^7.0.2", @@ -54,6 +56,406 @@ "algosdk": ">=2.9.0 <3.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@types/node": { "version": "22.14.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", @@ -175,6 +577,72 @@ "url": "https://dotenvx.com" } }, + "node_modules/esbuild": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/hi-base32": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", @@ -239,12 +707,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/tsx": { + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", + "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", + "dev": true, + "dependencies": { + "esbuild": "~0.25.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, "node_modules/tweetnacl": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", "peer": true }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", diff --git a/projects/abel-cli/package.json b/projects/abel-cli/package.json index faaad40..c15e989 100644 --- a/projects/abel-cli/package.json +++ b/projects/abel-cli/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "MIT", "dependencies": { "abel-sdk": "../abel-sdk-v2", "dotenv": "^16.4.7", @@ -19,7 +19,9 @@ "type": "module", "devDependencies": { "@types/node": "^22.14.0", - "@types/yargs": "^17.0.33" + "@types/yargs": "^17.0.33", + "tsx": "^4.19.3", + "typescript": "^5.3.3" }, "peerDependencies": { "@algorandfoundation/algokit-utils": "^7.0.2", diff --git a/projects/abel-cli/src/lib/common.ts b/projects/abel-cli/src/lib/common.ts new file mode 100644 index 0000000..42eb681 --- /dev/null +++ b/projects/abel-cli/src/lib/common.ts @@ -0,0 +1,26 @@ +import { AbelSDK } from "abel-sdk"; +import { abel } from "./config.js"; +import { die } from "./util.js"; + +export async function getAssetsWithLabelPV(abel: AbelSDK, labelId: string) { + const assetIds = await abel.getAllAssetIDs(); + const assetLabels = await abel.getAssetsLabels(assetIds); + for (const [aid, labels] of assetLabels) { + if (!labels.includes(labelId)) { + assetLabels.delete(aid); + } + } + return Array.from(assetLabels.keys()); +} + +export async function wrapAction>(name: string, args: T, actionFn: (...args: any[]) => Promise) { + if (args.some(a => a === undefined)) { + die(`${name}\nError: provide ${args.length} arguments`) + } + try { + console.warn(name, "with", args); + await actionFn.apply(abel, args); + } catch (e) { + console.log(` ----\nError message: ${(e as Error).message}`); + } +} diff --git a/projects/abel-cli/src/lib/config.ts b/projects/abel-cli/src/lib/config.ts new file mode 100644 index 0000000..6bdce9a --- /dev/null +++ b/projects/abel-cli/src/lib/config.ts @@ -0,0 +1,51 @@ +// config/env.ts +import { z } from "zod"; +import dotenv from "dotenv"; +import { AlgorandClient } from "@algorandfoundation/algokit-utils"; +import { AbelSDK } from "abel-sdk"; +import { accountFromMnemonic } from "./util.js"; + +// Load .env file into process.env +const envFile = process.env.ENV ? `.env.${process.env.ENV}` : `.env`; +dotenv.config({ path: envFile }); + +// Define the schema +const envSchema = z.object({ + ALGOD_HOST: z.string().default("https://mainnet-api.4160.nodely.dev"), + ALGOD_PORT: z.coerce.number().default(443), + ALGOD_TOKEN: z.string().default(""), + ASSET_LABEL: z.string().default("pv"), + MNEMONIC: z.string().optional(), + ABEL_APP_ID: z.coerce.number(), + CONCURRENCY: z.coerce.number().default(1), +}); + +// Parse and validate +const _env = envSchema.safeParse(process.env); + +if (!_env.success) { + console.error("❌ Invalid environment variables:", _env.error.flatten().fieldErrors); + throw new Error("Invalid environment variables."); +} + +export const config = _env.data; + +export const LABEL_ID = config.ASSET_LABEL; + +const algodConfig = { + server: config.ALGOD_HOST, + port: config.ALGOD_PORT, + token: config.ALGOD_TOKEN, +}; +const algorand = AlgorandClient.fromConfig({ algodConfig }); +console.warn("Using algod", algodConfig.server, "concurrency", config.CONCURRENCY); + +const writeAccount = config.MNEMONIC ? await accountFromMnemonic(algorand, config.MNEMONIC) : undefined; +console.warn(writeAccount ? `Using account ${writeAccount.addr}` : "No mnemonic, read-only mode"); + +export const abel = new AbelSDK({ + writeAccount, + algorand, + appId: BigInt(config.ABEL_APP_ID), + concurrency: config.CONCURRENCY, +}); diff --git a/projects/abel-cli/src/lib/printView.ts b/projects/abel-cli/src/lib/printView.ts new file mode 100644 index 0000000..4f9bc9c --- /dev/null +++ b/projects/abel-cli/src/lib/printView.ts @@ -0,0 +1,26 @@ +import { stringify } from "./util.js"; + +export async function printView( + aids: bigint[], + viewName: string, + fetcher: (bi: bigint[]) => any, + sample = true, + formatter = (data: Map): any => data.values() +) { + console.warn("Fetching", aids.length, viewName, "view"); + try { + const start = Date.now(); + const data = (await fetcher(aids)) as Map; + const end = Date.now(); + if (sample) { + console.log("Sample:", formatter(data).next().value); + } else { + console.log(stringify(Array.from(formatter(data)))); + } + console.warn(`Fetched ${aids.length} in `, end - start, "ms"); + console.warn(" ----"); + } catch (e) { + console.error(e); + console.error((e as Error).message); + } +} diff --git a/projects/abel-cli/src/lib/util.ts b/projects/abel-cli/src/lib/util.ts new file mode 100644 index 0000000..d74b268 --- /dev/null +++ b/projects/abel-cli/src/lib/util.ts @@ -0,0 +1,51 @@ +import { AlgorandClient } from "@algorandfoundation/algokit-utils"; + +export function die(msg: string) { + console.error(msg); + process.exit(1); +} + +export async function accountFromMnemonic(algorand: AlgorandClient, mnem: string) { + try { + return algorand.account.fromMnemonic(mnem); + } catch (e) { + die(`Mnemonic was invalid - ${(e as Error).message}`); + } +} + +export function chunk(array: T[], chunkSize: number): T[][] { + if (chunkSize <= 0) { + throw new Error("Chunk size must be greater than 0"); + } + + const result: T[][] = []; + + for (let i = 0; i < array.length; i += chunkSize) { + result.push(array.slice(i, i + chunkSize)); + } + + return result; +} + +export function stringify(obj: any): string { + return JSON.stringify(obj, (_key, value) => (typeof value === "bigint" ? value.toString() + "n" : value)); +} + +export function parseArgs any)[]>(...types: T): { [K in keyof T]: ReturnType } { + const argv = process.argv.slice(2); + return types.map((typeFn, idx) => argv[idx] === undefined ? undefined : typeFn(argv[idx])) as { [K in keyof T]: ReturnType }; +} + +export const parseArgvBigints = () => { + const aids = process.argv.slice(2).map(n => BigInt(n)); + if (!aids.length) { + die("Provide asset IDs as arguments"); + } + return aids +} + +export async function sleep(ms: number) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + + diff --git a/projects/abel-cli/src/lib/wrap-action.ts b/projects/abel-cli/src/lib/wrap-action.ts new file mode 100644 index 0000000..e7098bf --- /dev/null +++ b/projects/abel-cli/src/lib/wrap-action.ts @@ -0,0 +1,14 @@ +import { abel } from "./config.js"; +import { die } from "./util.js"; + +export async function wrapAction>(name: string, args: T, actionFn: (...args: any[]) => Promise) { + if (args.some((a) => a === undefined)) { + die(`${name}\nError: provide ${args.length} arguments`); + } + try { + console.warn(name, "with", args); + await actionFn.apply(abel, args); + } catch (e) { + console.log(` ----\nError message: ${(e as Error).message}`); + } +} diff --git a/projects/abel-cli/src/scripts/sync-json-to-pv.ts b/projects/abel-cli/src/scripts/sync-json-to-pv.ts index 6e7845b..5817a3b 100644 --- a/projects/abel-cli/src/scripts/sync-json-to-pv.ts +++ b/projects/abel-cli/src/scripts/sync-json-to-pv.ts @@ -47,12 +47,12 @@ console.log({ }); if (toAdd.length) { - console.log(`Adding (${toAdd.length})`); + console.log(`Adding (${toAdd.length})`, ...toAdd); await abel.addLabelToAssets(toAdd, LABEL_ID); } if (toRemove.length) { - console.log(`Removing (${toRemove.length})`); + console.log(`Removing (${toRemove.length})`, ...toRemove); await pMap(toRemove, (id) => abel.removeLabelFromAsset(id, LABEL_ID), { concurrency: config.CONCURRENCY }); } diff --git a/projects/abel-cli/sync-pera.sh b/projects/abel-cli/sync-pera.sh new file mode 100755 index 0000000..7f76e26 --- /dev/null +++ b/projects/abel-cli/sync-pera.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -eo pipefail + +cd $(dirname $(realpath $0)) + +echo $(date) Started + +rm data/verified.json + +npx tsx scripts/download-pera-verified.ts + +echo $(date) "Syncing to chain" + +ENV=op npx tsx src/scripts/sync-json-to-pv.ts data/verified.json + +echo $(date) Finished diff --git a/projects/abel-sdk-v2/README.md b/projects/abel-sdk-v2/README.md index 33145d7..0bae494 100644 --- a/projects/abel-sdk-v2/README.md +++ b/projects/abel-sdk-v2/README.md @@ -1 +1,146 @@ # Abel SDK for js-algorand-sdk v2 + +**Abel is an Asset Labeling registry, as well as a provider of batch asset data.** + +## Install + +> [!WARNING] +> This version of abel-SDK only supports js-algorand-sdk v2 and its corresponding algokit-utils v7 + +``` +npm i abel-sdk +``` + +## Usage + +> [!NOTE] +> Want to explore with a CLI? Check out [abel-cil](https://github.com/tasosbit/abel/tree/main/projects/abel-cli) which uses this SDK under the hood. + + +The default use case is with a read-only client. This will allow you to fetch asset and label data, but not operate on the registry. + +Create an SDK instance by passing in the abel app ID and an an `algokit.AlgorandClient`. + +For Mainnet: + +```typescript +import { AlgorandClient } from "@algorandfoundation/algokit-utils"; +import { AbelSDK } from "abel-sdk"; + +const abel = new AbelSDK({ + appId: 2914159523n, // Abel Mainnet PoC App ID + algorand: AlgorandClient.fromConfig({ + algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 }, + }), +}); +``` + +## Querying assets + +You can query assets with multiple size views. + +To get the "Asset Micro Labels" view for multiple assets: + +```typescript +const microData = await abel.getAssetsMicro([312769n, 6547014n, 6587142n, 27165954n]); +// returns +// Map(4) { +// 312769n => { id: 312769n, unitName: 'USDt', decimals: 6n, labels: [ 'pv' ] }, +// 6547014n => { id: 6547014n, unitName: 'MCAU', decimals: 5n, labels: [ 'pv' ] }, +// 6587142n => { id: 6587142n, unitName: 'MCAG', decimals: 5n, labels: [ 'pv' ] }, +// 27165954n => { id: 27165954n, unitName: 'Planets', decimals: 6n, labels: [ 'pv' ] } +// } +``` + +The available asset views are: + +- [AssetMicro](interfaces/AssetMicro.html) (no labels) +- [AssetMicroLabels](interfaces/AssetMicroLabels.html) +- [AssetTiny](interfaces/AssetTiny.html) (no labels) +- [AssetTinyLabels](interfaces/AssetTinyLabels.html) +- [AssetText](interfaces/AssetText.html) (no labels) +- [AssetTextLabels](interfaces/AssetTextLabels.html) +- [AssetSmall](interfaces/AssetSmall.html) +- [AssetFull](interfaces/AssetFull.html) + +To fetch asset data in these views, use the corresponding `getXYZ` method of the SDK, e.g. [getAssetMicroLabels](classes/AbelSDK#getassetsmicrolabels). + +You can pass in as many asset IDs as you want. + +## Performance + +Under the hood, Abel uses simulate to fetch multiple assets' data from a single simulate call. + +The number of assets per simulate request depends on how many AVM resources are required to compose it. + +You will get the best performance and efficiency if you use the smallest possible view for your needs. + +### 128 assets per simulate call + +- [AssetMicro](interfaces/AssetMicro.html) +- [AssetTiny](interfaces/AssetTiny.html) +- [AssetText](interfaces/AssetText.html) + +### 64 assets per simulate call + +- [AssetMicroLabels](interfaces/AssetMicroLabels.html) +- [AssetTinyLabels](interfaces/AssetTinyLabels.html) +- [AssetTextLabels](interfaces/AssetTextLabels.html) +- [AssetSmall](interfaces/AssetSmall.html) + +### 42 assets per simulate call + +- [AssetFull](interfaces/AssetFull.html) + +### Concurrency + +The Abel SDK supports arbitrarily large asset lookups. + +If you request more assets than a single simulate call can provide for that view, parallel simulate requests will be made in order to fetch your data. + +By default, Abel will use up to 4 simulate "threads", i.e. it will keep up to 4 simulate requests in parallel in order to fetch asset data. + +You can control this level of concurrency by passing in a `concurrency` property in the [Abel SDK constructor](classes/AbelSDK#constructor). + +> [!NOTE] +> The concurrency limit is per-method call, not global. For example, if you have `concurrency: 2` and you await two separate `getAssetsTiny()` methods of more than 128 assets each, there will be 4 simulate requests in flight. + + +## Admin or Operator Usage + +To instantiate the SDK with write capabilities, pass in your privileged account as `writeAccount`: + +```typescript +import { AlgorandClient } from "@algorandfoundation/algokit-utils"; +import { AbelSDK } from "abel-sdk"; + +const mnemonic = "apple apple ..."; +const writeAccount = await algorand.account.fromMnemonic(mnemonic); + +const abel = new AbelSDK({ + appId: 2914159523n, // Abel Mainnet PoC App ID + algorand: AlgorandClient.fromConfig({ + algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 }, + }), + writeAccount, +}); +``` + +You can then operate on your label group, as well as any asset: + +```typescript +const someAddress = "DTHIRTEENNLSYGLSEXTXC6X4SVDWMFRCPAOAUCXWIXJRCVBWIIGLYARNQE"; +const labelId = "13" +// add another operator to your label +await abel.addOperatorToLabel(someAddress, labelId); + +// remove operator from your label +await abel.removeOperatorFromLabel(someAddress, labelId); + +// add label to asset with ID 1013 +await abel.addLabelToAsset(1013n, labelId); + +// remove label from asset with ID 1013 +await abel.removeLabelFromAsset(1013n, labelId); +``` + diff --git a/projects/abel-sdk-v2/artifacts/AssetLabeling.arc32.json b/projects/abel-sdk-v2/artifacts/AssetLabeling.arc32.json index 80843b9..5700e1d 100644 --- a/projects/abel-sdk-v2/artifacts/AssetLabeling.arc32.json +++ b/projects/abel-sdk-v2/artifacts/AssetLabeling.arc32.json @@ -436,7 +436,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fX2FsZ29weV9lbnRyeXBvaW50X3dpdGhfaW5pdCgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxIDAgMiA4IDQyOTQ5NjcyOTUgNDI5NDk2NzI5NgogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4MDAwMCAiRVJSOk5PRVhJU1QiICIiIDB4MDAwMDAwMDAwMDAwMDAwMCAiYWRtaW4iICJFUlI6TEVOR1RIIiAiRVJSOkVYSVNUUyIgIkVSUjpOT0VNUFRZIiAweDAwMDIgMHgwMCAiRVJSOlVOQVVUSCIgMHgwMDAxIDB4MDAwNQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBzZWxmLmFkbWluID0gVHhuLnNlbmRlcgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICB0eG4gU2VuZGVyCiAgICBhcHBfZ2xvYmFsX3B1dAoKbWFpbl9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX2JhcmVfcm91dGluZ0AzOQogICAgcHVzaGJ5dGVzcyAweDhmMGQ3ZDhlIDB4MzNhMmUyZjcgMHhiNzJiYjc4ZiAweDk3NmNkZTY0IDB4MTdlNjkxYWUgMHg3NjY1ZDJiNCAweDcyNTYxNmU3IDB4ZmFjMWNmMWIgMHg2ZmQ4MTQ4YyAweGI0YzUwYjlmIDB4YTJkZDIyNDcgMHhhMzdkZWExMSAweDEzNWFiMjFlIDB4NjhmMThlZmEgMHg5N2Y0MGE4YSAweGMyZWQ3NDNmIDB4YTY3ZjAzYzIgMHg5N2EzMjEyMyAweGFhZWUwYzYxIDB4YjZjMzlmNjggMHg2MzViZTM2MiAweDcwOTNiMTBkIDB4NzBhYzk5YWQgMHhkOWEyYmQ5YyAweDc2YzY1MjhlIDB4NTFmNzdiZmYgMHgyMGQ5ZjI0YyAweDU1NDBiODBhIDB4MDcxMGU1YzQgMHg2ZjE3Y2RkNSAweDdhNGNlNGI5IDB4MzY2YzUxYWYgMHgzNGE0OGZiYyAweDAzYmE5OGRiIC8vIG1ldGhvZCAiY2hhbmdlX2FkbWluKGFjY291bnQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsKHN0cmluZyxzdHJpbmcsc3RyaW5nKXZvaWQiLCBtZXRob2QgImhhc19sYWJlbChzdHJpbmcpdWludDY0IiwgbWV0aG9kICJjaGFuZ2VfbGFiZWwoc3RyaW5nLHN0cmluZyxzdHJpbmcpdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsKHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfbGFiZWwoc3RyaW5nKShzdHJpbmcsc3RyaW5nLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJsb2dfbGFiZWxzKHN0cmluZ1tdKXZvaWQiLCBtZXRob2QgImFkZF9vcGVyYXRvcl90b19sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJoYXNfb3BlcmF0b3JfbGFiZWwoYWNjb3VudCxzdHJpbmcpdWludDY0IiwgbWV0aG9kICJyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfb3BlcmF0b3JfbGFiZWxzKGFjY291bnQpc3RyaW5nW10iLCBtZXRob2QgImFkZF9sYWJlbF90b19hc3NldChzdHJpbmcsYXNzZXQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsX3RvX2Fzc2V0cyhzdHJpbmcsdWludDY0W10pdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQoc3RyaW5nLGFzc2V0KXZvaWQiLCBtZXRob2QgImhhc19hc3NldF9sYWJlbCh1aW50NjQsc3RyaW5nKXVpbnQ2NCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2xhYmVscyhhc3NldClzdHJpbmdbXSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19sYWJlbHModWludDY0W10pc3RyaW5nW11bXSIsIG1ldGhvZCAibG9nX2Fzc2V0c19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X21pY3JvKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNybyh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4LHN0cmluZ1tdKSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNyb19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RpbnkodWludDY0KShzdHJpbmcsc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c190aW55KHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90aW55X2xhYmVscyh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RpbnlfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90ZXh0KHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcpIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHQodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF9zbWFsbCh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsdWludDY0LGJvb2wsYm9vbCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfc21hbGwodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2Z1bGwodWludDY0KShzdHJpbmcsc3RyaW5nLHN0cmluZyx1aW50NjQsdWludDgsYWRkcmVzcyxhZGRyZXNzLGFkZHJlc3MsYWRkcmVzcyxhZGRyZXNzLGJvb2wsYnl0ZVtdLHVpbnQ2NCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfZnVsbCh1aW50NjRbXSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9jaGFuZ2VfYWRtaW5fcm91dGVANSBtYWluX2FkZF9sYWJlbF9yb3V0ZUA2IG1haW5faGFzX2xhYmVsX3JvdXRlQDcgbWFpbl9jaGFuZ2VfbGFiZWxfcm91dGVAOCBtYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5IG1haW5fZ2V0X2xhYmVsX3JvdXRlQDEwIG1haW5fbG9nX2xhYmVsc19yb3V0ZUAxMSBtYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMiBtYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMyBtYWluX3JlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX3JvdXRlQDE0IG1haW5fZ2V0X29wZXJhdG9yX2xhYmVsc19yb3V0ZUAxNSBtYWluX2FkZF9sYWJlbF90b19hc3NldF9yb3V0ZUAxNiBtYWluX2FkZF9sYWJlbF90b19hc3NldHNfcm91dGVAMTcgbWFpbl9yZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9yb3V0ZUAxOCBtYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOSBtYWluX2dldF9hc3NldF9sYWJlbHNfcm91dGVAMjAgbWFpbl9nZXRfYXNzZXRzX2xhYmVsc19yb3V0ZUAyMSBtYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyIG1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzIG1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNCBtYWluX2dldF9hc3NldF9taWNyb19sYWJlbHNfcm91dGVAMjUgbWFpbl9nZXRfYXNzZXRzX21pY3JvX2xhYmVsc19yb3V0ZUAyNiBtYWluX2dldF9hc3NldF90aW55X3JvdXRlQDI3IG1haW5fZ2V0X2Fzc2V0c190aW55X3JvdXRlQDI4IG1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5IG1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMCBtYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxIG1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyIG1haW5fZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3JvdXRlQDMzIG1haW5fZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19yb3V0ZUAzNCBtYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNSBtYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzYgbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNyBtYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzOAoKbWFpbl9hZnRlcl9pZl9lbHNlQDQzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICBpbnRjXzEgLy8gMAogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTM1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfZnVsbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9mdWxsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX3NtYWxsCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9zbWFsbAogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRzX3RleHRfbGFiZWxzX3JvdXRlQDM0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0X2xhYmVscwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfcm91dGVAMzM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDcwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0CiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RleHQKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueV9sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfdGlueV9yb3V0ZUAyODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueQogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGlueV9yb3V0ZUAyNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF90aW55CiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfbWljcm9fbGFiZWxzX3JvdXRlQDI2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19yb3V0ZUAyNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfbWljcm8KICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM2OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X21pY3JvCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2Fzc2V0c19sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19sYWJlbHNfcm91dGVAMjE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzMyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfbGFiZWxzX3JvdXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMTcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBoYXNfYXNzZXRfbGFiZWwKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfcm91dGVAMTg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYWRkX2xhYmVsX3RvX2Fzc2V0c19yb3V0ZUAxNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzUKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0cwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfdG9fYXNzZXRfcm91dGVAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjcwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjcwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0CiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9vcGVyYXRvcl9sYWJlbHNfcm91dGVAMTU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9yb3V0ZUAxNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX29wZXJhdG9yX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGFkZF9vcGVyYXRvcl90b19sYWJlbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9sb2dfbGFiZWxzX3JvdXRlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyMQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2xhYmVscwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfbGFiZWxfcm91dGVAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTE2CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2xhYmVsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDgKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiByZW1vdmVfbGFiZWwKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2xhYmVsX3JvdXRlQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTkKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5OQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGNoYW5nZV9sYWJlbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9oYXNfbGFiZWxfcm91dGVANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9sYWJlbF9yb3V0ZUA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgyCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODIKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiBhZGRfbGFiZWwKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2FkbWluX3JvdXRlQDU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzcKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzcKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiBjaGFuZ2VfYWRtaW4KICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDM5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBzd2l0Y2ggbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUA0MiBtYWluX2FmdGVyX2lmX2Vsc2VANDMgbWFpbl9hZnRlcl9pZl9lbHNlQDQzIG1haW5fYWZ0ZXJfaWZfZWxzZUA0MyBtYWluX3VwZGF0ZUA0MCBtYWluX2RlbGV0ZUA0MQogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VANDMKCm1haW5fZGVsZXRlQDQxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY5CiAgICAvLyBAYXJjNC5iYXJlbWV0aG9kKGFsbG93X2FjdGlvbnM9KCJEZWxldGVBcHBsaWNhdGlvbiIsKSkKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiBkZWxldGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fdXBkYXRlQDQwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY1CiAgICAvLyBAYXJjNC5iYXJlbWV0aG9kKGFsbG93X2FjdGlvbnM9KCJVcGRhdGVBcHBsaWNhdGlvbiIsKSkKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiB1cGRhdGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fX19hbGdvcHlfZGVmYXVsdF9jcmVhdGVANDI6CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIF9wdXlhX2xpYi5hcmM0LmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQoYXJyYXk6IGJ5dGVzLCBuZXdfaXRlbXNfYnl0ZXM6IGJ5dGVzLCBuZXdfaXRlbXNfY291bnQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQ6CiAgICBwcm90byAzIDEKICAgIGZyYW1lX2RpZyAtMwogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAKICAgIGZyYW1lX2RpZyAtMQogICAgKwogICAgc3dhcAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBkaWcgMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvdmVyIDIKICAgIGZyYW1lX2RpZyAtMwogICAgaW50Y18yIC8vIDIKICAgIGRpZyAyCiAgICBzdWJzdHJpbmczCiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBiemVybwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTMKICAgIGxlbgogICAgZnJhbWVfZGlnIC0zCiAgICB1bmNvdmVyIDMKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgc3dhcAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGR1cAogICAgaW50Y18xIC8vIDAKICAgIHN3YXAKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfZm9yX2hlYWRlckAyOgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAyCiAgICA8CiAgICBieiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2FmdGVyX2ZvckA1CiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAzCiAgICBkdXAKICAgIGNvdmVyIDQKICAgIHVuY292ZXIgMgogICAgcmVwbGFjZTMKICAgIGR1cAogICAgZnJhbWVfYnVyeSAxCiAgICBkaWcgMQogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDMKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZF9mb3JfaGVhZGVyQDIKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfYWZ0ZXJfZm9yQDU6CiAgICBmcmFtZV9kaWcgMAogICAgZnJhbWVfZGlnIDEKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBfcHV5YV9saWIuYXJjNC5keW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnQoYXJyYXlfaXRlbXNfY291bnQ6IHVpbnQ2NCwgYXJyYXlfaGVhZF9hbmRfdGFpbDogYnl0ZXMsIG5ld19pdGVtc19jb3VudDogdWludDY0LCBuZXdfaGVhZF9hbmRfdGFpbDogYnl0ZXMpIC0+IGJ5dGVzOgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnQ6CiAgICBwcm90byA0IDEKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cAogICAgZnJhbWVfZGlnIC0yCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZnJhbWVfZGlnIC00CiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgaW50Y18xIC8vIDAKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDE6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDMKICAgIDwKICAgIGJ6IGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0zCiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfZGlnIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDEKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJAMQoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA0OgogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGZyYW1lX2J1cnkgMAogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJANToKICAgIGZyYW1lX2RpZyA0CiAgICBmcmFtZV9kaWcgMgogICAgPAogICAgYnogZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA4CiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyA0CiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9kaWcgMAogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMQogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGZyYW1lX2J1cnkgNAogICAgYiBkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfZm9yX2hlYWRlckA1CgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfYWZ0ZXJfZm9yQDg6CiAgICBmcmFtZV9kaWcgLTQKICAgIGZyYW1lX2RpZyAtMgogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAwCiAgICBzdWJzdHJpbmczCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuYjJzdHIoYjogYnl0ZXMpIC0+IGJ5dGVzOgpiMnN0cjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1Mi01MwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBiMnN0cihiOiBCeXRlcykgLT4gYXJjNC5TdHJpbmc6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NAogICAgLy8gcmV0dXJuIGFyYzQuU3RyaW5nKFN0cmluZy5mcm9tX2J5dGVzKGIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcudXBkYXRlKCkgLT4gdm9pZDoKdXBkYXRlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY3CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5kZWxldGUoKSAtPiB2b2lkOgpkZWxldGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzEKICAgIC8vIHNlbGYuYWRtaW5fb25seSgpCiAgICBjYWxsc3ViIGFkbWluX29ubHkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkbWluX29ubHkoKSAtPiB2b2lkOgphZG1pbl9vbmx5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc1CiAgICAvLyBlbnN1cmUoVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluLCBTKCJFUlI6VU5BVVRIIikpCiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYWRtaW4gZXhpc3RzCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZG1pbl9vbmx5X2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc1CiAgICAvLyBlbnN1cmUoVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluLCBTKCJFUlI6VU5BVVRIIikpCiAgICBieXRlYyAxMSAvLyAiRVJSOlVOQVVUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZG1pbl9vbmx5X2FmdGVyX2lmX2Vsc2VAMzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmNoYW5nZV9hZG1pbihuZXdfYWRtaW46IGJ5dGVzKSAtPiB2b2lkOgpjaGFuZ2VfYWRtaW46CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzctNzgKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGNoYW5nZV9hZG1pbihzZWxmLCBuZXdfYWRtaW46IEFjY291bnQpIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3OQogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgwCiAgICAvLyBzZWxmLmFkbWluID0gbmV3X2FkbWluCiAgICBieXRlYyA1IC8vICJhZG1pbiIKICAgIGZyYW1lX2RpZyAtMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkZF9sYWJlbChpZDogYnl0ZXMsIG5hbWU6IGJ5dGVzLCB1cmw6IGJ5dGVzKSAtPiB2b2lkOgphZGRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODItODMKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbChzZWxmLCBpZDogU3RyaW5nLCBuYW1lOiBTdHJpbmcsIHVybDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDMgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg0CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODUKICAgIC8vIGVuc3VyZShpZCBub3QgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpFWElTVFMiKSkKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYnogYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg1CiAgICAvLyBlbnN1cmUoaWQgbm90IGluIHNlbGYubGFiZWxzLCBTKCJFUlI6RVhJU1RTIikpCiAgICBieXRlYyA3IC8vICJFUlI6RVhJU1RTIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODYKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODYKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgYnl0ZWMgNiAvLyAiRVJSOkxFTkdUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4CiAgICAvLyBhcmM0LlN0cmluZyhuYW1lKSwKICAgIGZyYW1lX2RpZyAtMgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4OQogICAgLy8gYXJjNC5TdHJpbmcodXJsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0xCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4Ny05MgogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBkaWcgMQogICAgbGVuCiAgICBwdXNoaW50IDIwIC8vIDIwCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxNAogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTAKICAgIC8vIGFyYzQuVUludDY0KDApLAogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4Ny05MgogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MQogICAgLy8gYXJjNC5VSW50NjQoMCksCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg3LTkyCiAgICAvLyBzZWxmLmxhYmVsc1tpZF0gPSBMYWJlbERlc2NyaXB0b3IoCiAgICAvLyAgICAgYXJjNC5TdHJpbmcobmFtZSksCiAgICAvLyAgICAgYXJjNC5TdHJpbmcodXJsKSwKICAgIC8vICAgICBhcmM0LlVJbnQ2NCgwKSwKICAgIC8vICAgICBhcmM0LlVJbnQ2NCgwKSwKICAgIC8vICkKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMwogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2xhYmVsKGlkOiBieXRlcykgLT4gdWludDY0OgpoYXNfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTQtOTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBoYXNfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gVUludDY0OiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogaGFzX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKaGFzX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NwogICAgLy8gcmV0dXJuIFVJbnQ2NChpZCBpbiBzZWxmLmxhYmVscykKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk5LTEwMAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgY2hhbmdlX2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcsIG5hbWU6IFN0cmluZywgdXJsOiBTdHJpbmcpIC0+IE5vbmU6ICAjIG5vcWEgQTAwMgogICAgcHJvdG8gMyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAxCiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAyCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBjaGFuZ2VfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAyCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpjaGFuZ2VfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2lkXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5uYW1lID0gYXJjNC5TdHJpbmcobmFtZSkKICAgIGZyYW1lX2RpZyAtMgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGRpZyAyCiAgICBpbnRjXzEgLy8gMAogICAgZGlnIDIKICAgIGV4dHJhY3QzCiAgICBkaWcgMwogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgNAogICAgbGVuCiAgICB1bmNvdmVyIDUKICAgIGRpZyAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIHVuY292ZXIgMgogICAgZGlnIDQKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIC0KICAgIHVuY292ZXIgMgogICAgbGVuCiAgICBkaWcgMgogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICArCiAgICBzd2FwCiAgICAtCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcmVwbGFjZTIgMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNQogICAgLy8gbGFiZWxfZGVzY3JpcHRvci51cmwgPSBhcmM0LlN0cmluZyh1cmwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBkaWcgMQogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICB1bmNvdmVyIDIKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIGV4dHJhY3QzCiAgICBzd2FwCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDYKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0zCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWwoaWQ6IGJ5dGVzKSAtPiB2b2lkOgpyZW1vdmVfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA4LTEwOQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgcmVtb3ZlX2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcpIC0+IE5vbmU6ICAjIG5vcWEgQTAwMgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTEwCiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTExCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTExCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMgogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fb3BlcmF0b3JzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGV4dHJhY3QgMTIgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMgogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fb3BlcmF0b3JzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBieXRlYyA4IC8vICJFUlI6Tk9FTVBUWSIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMwogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fYXNzZXRzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGV4dHJhY3QgNCA4IC8vIG9uIGVycm9yOiBJbmRleCBhY2Nlc3MgaXMgb3V0IG9mIGJvdW5kcwogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIGI9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMwogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fYXNzZXRzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBieXRlYyA4IC8vICJFUlI6Tk9FTVBUWSIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTQKICAgIC8vIGRlbCBzZWxmLmxhYmVsc1tpZF0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2RlbAogICAgcG9wCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfbGFiZWwoaWQ6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNi0xMTcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gTGFiZWxEZXNjcmlwdG9yOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogZ2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKZ2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIHJldHVybiBzZWxmLmxhYmVsc1tpZF0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcubG9nX2xhYmVscyhpZHM6IGJ5dGVzKSAtPiB2b2lkOgpsb2dfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyMS0xMjIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfbGFiZWxzKHNlbGYsIGlkczogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIzCiAgICAvLyBmb3IgX2lkeCwgbGFiZWxfaWQgaW4gdWVudW1lcmF0ZShpZHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpsb2dfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjMKICAgIC8vIGZvciBfaWR4LCBsYWJlbF9pZCBpbiB1ZW51bWVyYXRlKGlkcyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGxvZ19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkaWcgMQogICAgc3dhcAogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZXh0cmFjdDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGxvZyhzZWxmLmxhYmVsc1tsYWJlbF9pZC5uYXRpdmVdKQogICAgZXh0cmFjdCAyIDAKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBsb2dfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2xhYmVsc19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkbWluX29yX29wZXJhdG9yX29ubHkobGFiZWw6IGJ5dGVzKSAtPiB2b2lkOgphZG1pbl9vcl9vcGVyYXRvcl9vbmx5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzMC0xMzEKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShzZWxmLCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTMyCiAgICAvLyBpZiBUeG4uc2VuZGVyID09IHNlbGYuYWRtaW46CiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYWRtaW4gZXhpc3RzCiAgICA9PQogICAgYnogYWRtaW5fb3Jfb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzMKICAgIC8vIHJldHVybgogICAgcmV0c3ViCgphZG1pbl9vcl9vcGVyYXRvcl9vbmx5X2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzQKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5vcGVyYXRvcl9vbmx5KGxhYmVsOiBieXRlcykgLT4gdm9pZDoKb3BlcmF0b3Jfb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzYtMTM3CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIG9wZXJhdG9yX29ubHkoc2VsZiwgbGFiZWw6IFN0cmluZykgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzOAogICAgLy8gb3BlcmF0b3JfaW5kZXggPSBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChUeG4uc2VuZGVyLCBsYWJlbCkKICAgIHR4biBTZW5kZXIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIGR1cAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0MAogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDAtMTQxCiAgICAvLyBvcGVyYXRvcl9pbmRleCAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSkKICAgIC8vIGFuZCBvcGVyYXRvcl9pbmRleCAhPSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgIGJ6IG9wZXJhdG9yX29ubHlfYm9vbF9mYWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQxCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgMAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQwLTE0MQogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBieiBvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMwogICAgaW50Y18wIC8vIDEKCm9wZXJhdG9yX29ubHlfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBvcGVyYXRvcl9vbmx5X2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0MgogICAgLy8gUygiRVJSOlVOQVVUSCIpLAogICAgYnl0ZWMgMTEgLy8gIkVSUjpVTkFVVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDc6CiAgICByZXRzdWIKCm9wZXJhdG9yX29ubHlfYm9vbF9mYWxzZUAzOgogICAgaW50Y18xIC8vIDAKICAgIGIgb3BlcmF0b3Jfb25seV9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHVpbnQ2NDoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0NS0xNDYKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGludGNfMSAvLyAwCiAgICBieXRlY18zIC8vICIiCiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDcKICAgIC8vIGlmIG9wZXJhdG9yIG5vdCBpbiBzZWxmLm9wZXJhdG9yczoKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBibnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OAogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OQogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDAKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfYnVyeSAxCiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSAyCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfZm9yX2hlYWRlckAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OQogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2ZvckA4CiAgICBmcmFtZV9kaWcgMAogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTUwCiAgICAvLyBpZiBzdG9yZWRfbGFiZWwgPT0gbGFiZWw6CiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIC0xCiAgICA9PQogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1MQogICAgLy8gcmV0dXJuIGlkeAogICAgZnJhbWVfZGlnIDIKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUA2OgogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDIKICAgIGIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMwoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2ZvckA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1MgogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZGRfb3BlcmF0b3JfdG9fbGFiZWwob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9vcGVyYXRvcl90b19sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQtMTU1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBhZGRfb3BlcmF0b3JfdG9fbGFiZWwoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTYKICAgIC8vIHNlbGYuYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBhZG1pbl9vcl9vcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTU3CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NwogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTU4LTE1OQogICAgLy8gIyBjaGVjayBpZiBvcGVyYXRvciBleGlzdHMgYWxyZWFkeQogICAgLy8gaWYgb3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogYWRkX29wZXJhdG9yX3RvX2xhYmVsX2Vsc2VfYm9keUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYyCiAgICAvLyBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjMKICAgIC8vID09IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjItMTYzCiAgICAvLyBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICAvLyA9PSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjQKICAgIC8vIFMoIkVSUjpFWElTVFMiKSwKICAgIGJ5dGVjIDcgLy8gIkVSUjpFWElTVFMiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjctMTY4CiAgICAvLyAjIGFkZCBsYWJlbCB0byBvcGVyYXRvcgogICAgLy8gZXhpc3RpbmcgPSBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjkKICAgIC8vIGV4aXN0aW5nLmFwcGVuZChhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBpbnRjXzAgLy8gMQogICAgY2FsbHN1YiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcwCiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBleGlzdGluZy5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc1LTE3NgogICAgLy8gIyBpbmNyZW1lbnQgbGFiZWwgb3BlcmF0b3JzCiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yID0gc2VsZi5sYWJlbHNbbGFiZWxdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc4CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlICsgVUludDY0KDEpCiAgICBkdXAKICAgIHB1c2hpbnQgMTIgLy8gMTIKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3Ny0xNzkKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDEyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTgwCiAgICAvLyBzZWxmLmxhYmVsc1tsYWJlbF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMQogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgphZGRfb3BlcmF0b3JfdG9fbGFiZWxfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcyLTE3MwogICAgLy8gIyBuZXcgb3BlcmF0b3IsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMgogICAgc3dhcAogICAgYm94X3B1dAogICAgYiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX29wZXJhdG9yX2xhYmVsKG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB1aW50NjQ6Cmhhc19vcGVyYXRvcl9sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODItMTgzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgaGFzX29wZXJhdG9yX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGJ5dGVjXzMgLy8gIiIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODQKICAgIC8vIGVuc3VyZShsYWJlbC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBoYXNfb3BlcmF0b3JfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg0CiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKaGFzX29wZXJhdG9yX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODUKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yLCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODYKICAgIC8vIHJldHVybiBVSW50NjQoaWR4ICE9IE5PVF9GT1VORF9LRVkgYW5kIGlkeCAhPSBOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgIT0KICAgIGJ6IGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDMKICAgIGZyYW1lX2RpZyAwCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgIT0KICAgIGJ6IGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDMKICAgIGludGNfMCAvLyAxCgpoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NgogICAgLy8gcmV0dXJuIFVJbnQ2NChpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRSkKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX29wZXJhdG9yX2xhYmVsX2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMSAvLyAwCiAgICBiIGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChvcGVyYXRvcjogYnl0ZXMsIGxhYmVsOiBieXRlcykgLT4gdm9pZDoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg4LTE4OQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWwoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIGludGNfMSAvLyAwCiAgICBkdXBuIDQKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cG4gMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5MAogICAgLy8gc2VsZi5hZG1pbl9vcl9vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGFkbWluX29yX29wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjgKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkzCiAgICAvLyBlbnN1cmUob3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDMyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkzCiAgICAvLyBlbnN1cmUob3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NS0xOTYKICAgIC8vICMgZW5zdXJlIGxhYmVsIGV4aXN0cyBpbiBvcGVyYXRvcgogICAgLy8gbGFiZWxfaWR4ID0gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICBkdXAKICAgIGZyYW1lX2J1cnkgNwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OAogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTgtMjAwCiAgICAvLyBsYWJlbF9pZHggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk5LTIwMAogICAgLy8gYW5kIGxhYmVsX2lkeAogICAgLy8gIT0gVUludDY0KE5PVF9GT1VORF9LRVkpLCAgIyBrZXkgY2hlY2sgcmVkdW5kYW50LCBjaGVja2VkIGFib3ZlCiAgICBmcmFtZV9kaWcgNwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwMAogICAgLy8gIT0gVUludDY0KE5PVF9GT1VORF9LRVkpLCAgIyBrZXkgY2hlY2sgcmVkdW5kYW50LCBjaGVja2VkIGFib3ZlCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OS0yMDAKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTgtMjAwCiAgICAvLyBsYWJlbF9pZHggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBpbnRjXzAgLy8gMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjAxCiAgICAvLyBTKCJFUlI6Tk9FWElTVCIpLAogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDQtMjA1CiAgICAvLyAjIGVuc3VyZSBvbmx5IGVtcHR5IGxhYmVscyBjYW4gYmUgbGVmdCBvcGVyYXRvci1sZXNzCiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yID0gc2VsZi5sYWJlbHNbbGFiZWxdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBzd2FwCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGZyYW1lX2J1cnkgMAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNwogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzID4gMSBvciBsYWJlbF9kZXNjcmlwdG9yLm51bV9hc3NldHMgPT0gMCwKICAgIGV4dHJhY3QgMTIgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIHB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKICAgIGI+CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF90cnVlQDYKICAgIGZyYW1lX2RpZyAwCiAgICBleHRyYWN0IDQgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VANwoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF90cnVlQDY6CiAgICBpbnRjXzAgLy8gMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA4CiAgICAvLyBTKCJFUlI6Tk9FTVBUWSIpLAogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTIKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgLSBVSW50NjQoMSkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIHB1c2hpbnQgMTIgLy8gMTIKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgLQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIxMC0yMTMKICAgIC8vICMgZGVjciBvcGVyYXRvciBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgMTIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTQKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0xCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjE2CiAgICAvLyBpZiBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0ubGVuZ3RoID09IDE6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9lbHNlX2JvZHlAMTAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTcKICAgIC8vIGRlbCBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0KICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICByZXRzdWIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Vsc2VfYm9keUAxMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTkKICAgIC8vIG5leHRfbGlzdCA9IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIwLTIyMwogICAgLy8gIyB3YWxrLCBwdXNoIGV2ZXJ5dGhpbmcgZXhjZXB0IGluZGV4CiAgICAvLyAjIHRoaXMgaW1wbGVtZW50YXRpb24gd2Fsa3MgdHdpY2UgKG9uY2UgaW4gZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KQogICAgLy8gIyBjb3VsZCBiZSBtb3JlIGVmZmljaWVudAogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDEKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfYnVyeSA1CiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSA2CgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9mb3JfaGVhZGVyQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyMC0yMjMKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIGV4Y2VwdCBpbmRleAogICAgLy8gIyB0aGlzIGltcGxlbWVudGF0aW9uIHdhbGtzIHR3aWNlIChvbmNlIGluIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleCkKICAgIC8vICMgY291bGQgYmUgbW9yZSBlZmZpY2llbnQKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgNgogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2ZvckAxNgogICAgZnJhbWVfZGlnIDEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNgogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICBmcmFtZV9idXJ5IDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjQKICAgIC8vIGlmIGxhYmVsX2lkeCAhPSBpZHg6CiAgICBmcmFtZV9kaWcgNwogICAgIT0KICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9idXJ5IDMKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjUKICAgIC8vIG5leHRfbGlzdC5hcHBlbmQoc3RvcmVkX2xhYmVsKQogICAgZnJhbWVfZGlnIDIKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzAgLy8gMQogICAgY2FsbHN1YiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkCiAgICBmcmFtZV9idXJ5IDMKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTQ6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfYnVyeSAyCiAgICBmcmFtZV9kaWcgNgogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgNgogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9mb3JfaGVhZGVyQDExCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9mb3JAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI3CiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBuZXh0X2xpc3QuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgMgogICAgYm94X3B1dAogICAgcmV0c3ViCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDc6CiAgICBpbnRjXzEgLy8gMAogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX21lcmdlQDgKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMSAvLyAwCiAgICBiIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VANAoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9vcGVyYXRvcl9sYWJlbHMob3BlcmF0b3I6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X29wZXJhdG9yX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjktMjMwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X29wZXJhdG9yX2xhYmVscyhzZWxmLCBvcGVyYXRvcjogQWNjb3VudCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMxCiAgICAvLyBpZiBvcGVyYXRvciBpbiBzZWxmLm9wZXJhdG9yczoKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBnZXRfb3BlcmF0b3JfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzMgogICAgLy8gcmV0dXJuIHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICByZXRzdWIKCmdldF9vcGVyYXRvcl9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMzLTIzNAogICAgLy8gIyByZXR1cm4gZW1wdHkgbGlzdAogICAgLy8gcmV0dXJuIGVtcHR5X2xpc3QoKQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0OiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpnZXRfYXNzZXRfbGFiZWxfaW5kZXg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM2LTIzNwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgoc2VsZiwgYXNzZXQ6IEFzc2V0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGludGNfMSAvLyAwCiAgICBkdXAKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzOAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDExCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM4CiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMTE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM5CiAgICAvLyBpZiBhc3NldCBub3QgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAxCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJueiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQwCiAgICAvLyByZXR1cm4gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQxCiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDEKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgMgogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgMwoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDEKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0MgogICAgLy8gaWYgc3RvcmVkX2xhYmVsID09IGxhYmVsOgogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMQogICAgPT0KICAgIGJ6IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDMKICAgIC8vIHJldHVybiBpZHgKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANjoKICAgIGZyYW1lX2RpZyAzCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAzCiAgICBiIGdldF9hc3NldF9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDMKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9mb3JAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDQKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2FkZF9sYWJlbF90b19hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6Cl9hZGRfbGFiZWxfdG9fYXNzZXQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ2LTI0NwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfYWRkX2xhYmVsX3RvX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18xIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDgKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0OAogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKX2FkZF9sYWJlbF90b19hc3NldF9hZnRlcl9pZl9lbHNlQDEwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0OQogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTIKICAgIC8vIHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkgPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1MwogICAgLy8gUygiRVJSOkVYSVNUUyIpLAogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTUtMjU2CiAgICAvLyAjIGFkZCBsYWJlbCB0byBhc3NldAogICAgLy8gZXhpc3RpbmcgPSBzZWxmLmFzc2V0c1thc3NldF0uY29weSgpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjU3CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0yCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgaW50Y18wIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1OAogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gZXhpc3RpbmcuY29weSgpCiAgICBkaWcgMQogICAgYm94X2RlbAogICAgcG9wCiAgICBib3hfcHV0CgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjMtMjY0CiAgICAvLyAjIGluY3IgYXNzZXQgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tsYWJlbF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjYKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIGR1cAogICAgcHVzaGludCA0IC8vIDQKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2NS0yNjcKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjgKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjYwLTI2MQogICAgLy8gIyBuZXcgYXNzZXQsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLmFzc2V0c1thc3NldF0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICBiIF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0KGxhYmVsOiBieXRlcywgYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3MC0yNzEKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzIKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjczCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIGFzc2V0KQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2FkZF9sYWJlbF90b19hc3NldAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0cyhsYWJlbDogYnl0ZXMsIGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9sYWJlbF90b19hc3NldHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc1LTI3OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX2xhYmVsX3RvX2Fzc2V0cygKICAgIC8vICAgICBzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XQogICAgLy8gKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc5CiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4MAogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDAKCmFkZF9sYWJlbF90b19hc3NldHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4MAogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgxCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIEFzc2V0KGFzc2V0Lm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBjYWxsc3ViIF9hZGRfbGFiZWxfdG9fYXNzZXQKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgYWRkX2xhYmVsX3RvX2Fzc2V0c19mb3JfaGVhZGVyQDEKCmFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWxfZnJvbV9hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6CnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4My0yODQKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18xIC8vIDAKICAgIGR1cG4gMwogICAgYnl0ZWNfMyAvLyAiIgogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg1CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg1CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gc2VsZi5vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBjYWxsc3ViIG9wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyODkKICAgIC8vIGZvdW5kID0gRmFsc2UKICAgIGludGNfMSAvLyAwCiAgICBmcmFtZV9idXJ5IDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTAKICAgIC8vIGlmIHNlbGYuYXNzZXRzW2Fzc2V0XS5sZW5ndGggPT0gMToKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlANQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5MQogICAgLy8gaWYgc2VsZi5hc3NldHNbYXNzZXRdWzBdID09IGxhYmVsOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGR1cAogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgYXNzZXJ0IC8vIEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBkdXAKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMgogICAgPT0KICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBkZWwgc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkzCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMCAvLyAxCiAgICBmcmFtZV9idXJ5IDYKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgZnJhbWVfZGlnIDYKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzA4CiAgICAvLyBlbnN1cmUoZm91bmQsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMC0zMTEKICAgIC8vICMgZGVjciBhc3NldCBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMwogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDQgLy8gNAogICAgZXh0cmFjdF91aW50NjQKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzEyLTMxNAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNQogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjk1CiAgICAvLyBmb3VuZCA9IEZhbHNlCiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSA2CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTMKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5NwogICAgLy8gbmV4dF9saXN0ID0gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTgtMzAwCiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyB0byBuZXcgYm94IGV4Y2VwdCBsYWJlbAogICAgLy8gIyBzYXZlICRmb3VuZCB0byB0aHJvdyBpZiBub3QgZm91bmQKICAgIC8vIGZvciBfaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZm9yX2hlYWRlckA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5OC0zMDAKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIHRvIG5ldyBib3ggZXhjZXB0IGxhYmVsCiAgICAvLyAjIHNhdmUgJGZvdW5kIHRvIHRocm93IGlmIG5vdCBmb3VuZAogICAgLy8gZm9yIF9pZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2ZvckAxMgogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDEKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCAhPSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTIKICAgICE9CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlAOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwMgogICAgLy8gbmV4dF9saXN0LmFwcGVuZChzdG9yZWRfbGFiZWwpCiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMCAvLyAxCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQKICAgIGZyYW1lX2J1cnkgMQoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMDoKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Zvcl9oZWFkZXJANgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzA0CiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMCAvLyAxCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfZm9yQDEyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNgogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgMQogICAgYm94X3B1dAogICAgYiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDEzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2Fzc2V0X2xhYmVsKGFzc2V0X2lkOiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfYXNzZXRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE3LTMxOAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19hc3NldF9sYWJlbChzZWxmLCBhc3NldF9pZDogVUludDY0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjAKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9hc3NldF9sYWJlbF9pbmRleAogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzIxCiAgICAvLyBpZiBpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRToKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMgogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18wIC8vIDEKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjMKICAgIC8vIHJldHVybiBVSW50NjQoMCkKICAgIGludGNfMSAvLyAwCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNS0zMjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxzKHNlbGYsIGFzc2V0OiBBc3NldCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI3CiAgICAvLyBpZiBhc3NldCBpbiBzZWxmLmFzc2V0czoKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGdldF9hc3NldF9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI4CiAgICAvLyByZXR1cm4gc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgc3dhcAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyOS0zMzAKICAgIC8vICMgcmV0dXJuIGVtcHR5CiAgICAvLyByZXR1cm4gZW1wdHlfbGlzdCgpCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2Fzc2V0c19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzMyLTMzNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfbGFiZWxzKAogICAgLy8gICAgIHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdCiAgICAvLyApIC0+IGFyYzQuRHluYW1pY0FycmF5W0xhYmVsTGlzdF06CiAgICBwcm90byAxIDEKICAgIGludGNfMSAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM2CiAgICAvLyBvdXQgPSBhcmM0LkR5bmFtaWNBcnJheVtMYWJlbExpc3RdKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM3CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c19sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbGFiZWxzX2FmdGVyX2ZvckA3CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzgKICAgIC8vIGFzc2V0ID0gQXNzZXQoYXNzZXRfaWQubmF0aXZlKQogICAgZXh0cmFjdF91aW50NjQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzkKICAgIC8vIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzOgogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDAKICAgIC8vIG91dC5hcHBlbmQoc2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzAgLy8gMQogICAgdW5jb3ZlciAzCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudAogICAgZnJhbWVfYnVyeSAxCgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9pZl9lbHNlQDU6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbGFiZWxzX2Vsc2VfYm9keUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0MgogICAgLy8gb3V0LmFwcGVuZChlbXB0eV9saXN0KCkpCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzAgLy8gMQogICAgcHVzaGJ5dGVzIDB4MDAwMjAwMDAKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50CiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1CgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDMKICAgIC8vIHJldHVybiBvdXQKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19hc3NldHNfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmxvZ19hc3NldHNfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NS0zNDYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfYXNzZXRzX2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgaW50Y18xIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpsb2dfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQ3CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfZm9yQDcKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OAogICAgLy8gYXNzZXQgPSBBc3NldChhc3NldF9pZC5uYXRpdmUpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OQogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBsb2dfYXNzZXRzX2xhYmVsc19lbHNlX2JvZHlANAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1MAogICAgLy8gbG9nKHNlbGYuYXNzZXRzW2Fzc2V0XSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBsb2cKCmxvZ19hc3NldHNfbGFiZWxzX2FmdGVyX2lmX2Vsc2VANToKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGxvZ19hc3NldHNfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTIKICAgIC8vIGxvZyhlbXB0eV9saXN0KCkpCiAgICBsb2cKICAgIGIgbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1Cgpsb2dfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzYwLTM2MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjQKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjUKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjMtMzY2CiAgICAvLyByZXR1cm4gQXNzZXRNaWNybygKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIC8vICkKICAgIHB1c2hieXRlcyAweDAwMDMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm8oYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF9taWNybzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjgtMzY5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm8oYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNybwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c19taWNybyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM3Mi0zNzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX21pY3JvKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c19taWNyb19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzUKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm8KICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c19taWNyb19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzktMzgwCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODMKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODQKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODUKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9tZXJnZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4Mi0zODYKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzKAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBmcmFtZV9kaWcgMQogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX3Rlcm5hcnlfZmFsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm9fbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4OC0zODkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX21pY3JvX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTItMzkzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTQKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk1CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk5LTQwMAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDAzCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwNAogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwNQogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwMi00MDYKICAgIC8vIHJldHVybiBBc3NldFRpbnkoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIC8vICkKICAgIGRpZyAyCiAgICBsZW4KICAgIHB1c2hpbnQgNSAvLyA1CiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X3RpbnkoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90aW55OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwOC00MDkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfdGlueShzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldFRpbnk6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfdGlueShhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfdGlueShhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyLTQxMwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGlueShzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDAKCmdldF9hc3NldHNfdGlueV9mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDE0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c190aW55X2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNQogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90aW55KGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnkKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX3RpbnlfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RpbnlfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxOS00MjAKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgX2dldF9hc3NldF90aW55X2xhYmVscyhzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldFRpbnlMYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjMKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI0CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI1CiAgICAvLyBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlY2ltYWxzCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBkdXAKICAgIGJpdGxlbgogICAgaW50Y18zIC8vIDgKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIGV4dHJhY3QgNyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI2CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfdGlueV9sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIyLTQyNwogICAgLy8gcmV0dXJuIEFzc2V0VGlueUxhYmVscygKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDcgLy8gNwogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNwogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIGIgX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGlueV9sYWJlbHMoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjktNDMwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGlueUxhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzMQogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RpbnlfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGlueV9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMzLTQzNAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzNgogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55X2xhYmVscwogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGlueV9sYWJlbHNfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90ZXh0KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQwLTQ0MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHQoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUZXh0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ0CiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NQogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NgogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDMtNDQ3CiAgICAvLyByZXR1cm4gQXNzZXRUZXh0KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDYgLy8gNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNgogICAgc3dhcAogICAgY29uY2F0CiAgICBkaWcgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ5LTQ1MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0KHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MQogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0KGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0KGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTMtNDU0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190ZXh0KHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDU1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDU2CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGV4dF9hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYwLTQ2MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2NAogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjUKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjYKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDY3CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYzLTQ2OAogICAgLy8gcmV0dXJuIEFzc2V0VGV4dExhYmVscygKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gOAogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwOAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAyCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIGxlbgogICAgdW5jb3ZlciAyCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIGIgX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90ZXh0X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAtNDcxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0X2xhYmVscyhhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RleHRfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDc0LTQ3NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGV4dF9sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzYKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzYKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3NwogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90ZXh0X2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90ZXh0X2xhYmVscwogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9sYWJlbHNfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF9zbWFsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODEtNDgyCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4NQogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODYKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODcKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODgKICAgIC8vIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFRvdGFsCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5CiAgICAvLyBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRGcmVlemUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5MAogICAgLy8gaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENsYXdiYWNrCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBnbG9iYWwgWmVyb0FkZHJlc3MKICAgICE9CiAgICBieXRlYyAxMCAvLyAweDAwCiAgICBpbnRjXzEgLy8gMAogICAgdW5jb3ZlciAyCiAgICBzZXRiaXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTEKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9zbWFsbF90ZXJuYXJ5X2ZhbHNlQDIKICAgIGZyYW1lX2RpZyA2CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODQtNDkyCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbCgKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIC8vICAgICBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICAvLyAgICAgaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCAxNiAvLyAxNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxMAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDIKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDQKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDUKICAgIGludGNfMSAvLyAwCiAgICBnZXRiaXQKICAgIHB1c2hpbnQgMTA1IC8vIDEwNQogICAgc3dhcAogICAgc2V0Yml0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfZmFsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9zbWFsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3NtYWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5NC00OTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5NgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3NtYWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3NtYWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk4LTQ5OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfc21hbGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3NtYWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwMQogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9zbWFsbAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfc21hbGxfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9mdWxsKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTA1LTUwNgogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzEgLy8gMAogICAgZHVwbiAxMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwOAogICAgLy8gcmVzZXJ2ZV9hY2N0ID0gQWNjb3VudChhc3NldC5yZXNlcnZlLmJ5dGVzKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZHVwCiAgICB1bmNvdmVyIDIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTEKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTAtNTEyCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIC8vIGVsc2UgVUludDY0KDApCiAgICBieiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEwCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIGZyYW1lX2RpZyAxNAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKICAgIGFzc2VydCAvLyBhY2NvdW50IG9wdGVkIGludG8gYXNzZXQKCl9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE1CiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE2CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTcKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTgKICAgIC8vIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFRvdGFsCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBmcmFtZV9idXJ5IDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTkKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIGZyYW1lX2J1cnkgNgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMAogICAgLy8gY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDExCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTIxCiAgICAvLyBtYW5hZ2VyPWFyYzQuQWRkcmVzcyhhc3NldC5tYW5hZ2VyKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE1hbmFnZXIKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjIKICAgIC8vIGZyZWV6ZT1hcmM0LkFkZHJlc3MoYXNzZXQuZnJlZXplKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldEZyZWV6ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMwogICAgLy8gY2xhd2JhY2s9YXJjNC5BZGRyZXNzKGFzc2V0LmNsYXdiYWNrKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENsYXdiYWNrCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDkKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjQKICAgIC8vIHJlc2VydmU9YXJjNC5BZGRyZXNzKGFzc2V0LnJlc2VydmUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMAogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyNQogICAgLy8gZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlZmF1bHRGcm96ZW4KICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI3CiAgICAvLyBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWV0YWRhdGFIYXNoCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBkdXAKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI2CiAgICAvLyByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOAogICAgLy8gbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSA1CiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDUKICAgIGZyYW1lX2RpZyA1CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNC01MjkKICAgIC8vIHJldHVybiBBc3NldEZ1bGwoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICAvLyAgICAgbWFuYWdlcj1hcmM0LkFkZHJlc3MoYXNzZXQubWFuYWdlciksCiAgICAvLyAgICAgZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgLy8gICAgIGNsYXdiYWNrPWFyYzQuQWRkcmVzcyhhc3NldC5jbGF3YmFjayksCiAgICAvLyAgICAgcmVzZXJ2ZT1hcmM0LkFkZHJlc3MoYXNzZXQucmVzZXJ2ZSksCiAgICAvLyAgICAgZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIC8vICAgICByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIC8vICAgICBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDIKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDE4OCAvLyAxODgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwYmMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDcKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDYKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDExCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMgogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMTMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDkKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAwCiAgICBjb25jYXQKICAgIGRpZyAxCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDgKICAgIGNvbmNhdAogICAgc3dhcAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciA0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICBiIF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDYKCl9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEyCiAgICAvLyBlbHNlIFVJbnQ2NCgwKQogICAgaW50Y18xIC8vIDAKICAgIGIgX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfbWVyZ2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9mdWxsKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfZnVsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzEtNTMyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMzCiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X2Z1bGwoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF9mdWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2Z1bGwoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c19mdWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNS01MzYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX2Z1bGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX2Z1bGxfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfZnVsbF9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzgKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfZnVsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9mdWxsCiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19mdWxsX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c19mdWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fX2FsZ29weV9lbnRyeXBvaW50X3dpdGhfaW5pdCgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAwIDEgMiA4IDQyOTQ5NjcyOTUgNDI5NDk2NzI5NgogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4ICJFUlI6Tk9FWElTVCIgMHgwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAiYWRtaW4iICJFUlI6TEVOR1RIIiAiRVJSOkVYSVNUUyIgIkVSUjpOT0VNUFRZIiAweDAwMDIgMHgwMCAiRVJSOlVOQVVUSCIgMHgwMDAxIDB4MDAwNQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY1CiAgICAvLyBzZWxmLmFkbWluID0gVHhuLnNlbmRlcgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICB0eG4gU2VuZGVyCiAgICBhcHBfZ2xvYmFsX3B1dAoKbWFpbl9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX2JhcmVfcm91dGluZ0AzOQogICAgcHVzaGJ5dGVzcyAweDhmMGQ3ZDhlIDB4MzNhMmUyZjcgMHhiNzJiYjc4ZiAweDk3NmNkZTY0IDB4MTdlNjkxYWUgMHg3NjY1ZDJiNCAweDcyNTYxNmU3IDB4ZmFjMWNmMWIgMHg2ZmQ4MTQ4YyAweGI0YzUwYjlmIDB4YTJkZDIyNDcgMHhhMzdkZWExMSAweDEzNWFiMjFlIDB4NjhmMThlZmEgMHg5N2Y0MGE4YSAweGMyZWQ3NDNmIDB4YTY3ZjAzYzIgMHg5N2EzMjEyMyAweGFhZWUwYzYxIDB4YjZjMzlmNjggMHg2MzViZTM2MiAweDcwOTNiMTBkIDB4NzBhYzk5YWQgMHhkOWEyYmQ5YyAweDc2YzY1MjhlIDB4NTFmNzdiZmYgMHgyMGQ5ZjI0YyAweDU1NDBiODBhIDB4MDcxMGU1YzQgMHg2ZjE3Y2RkNSAweDdhNGNlNGI5IDB4MzY2YzUxYWYgMHgzNGE0OGZiYyAweDAzYmE5OGRiIC8vIG1ldGhvZCAiY2hhbmdlX2FkbWluKGFjY291bnQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsKHN0cmluZyxzdHJpbmcsc3RyaW5nKXZvaWQiLCBtZXRob2QgImhhc19sYWJlbChzdHJpbmcpdWludDY0IiwgbWV0aG9kICJjaGFuZ2VfbGFiZWwoc3RyaW5nLHN0cmluZyxzdHJpbmcpdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsKHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfbGFiZWwoc3RyaW5nKShzdHJpbmcsc3RyaW5nLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJsb2dfbGFiZWxzKHN0cmluZ1tdKXZvaWQiLCBtZXRob2QgImFkZF9vcGVyYXRvcl90b19sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJoYXNfb3BlcmF0b3JfbGFiZWwoYWNjb3VudCxzdHJpbmcpdWludDY0IiwgbWV0aG9kICJyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfb3BlcmF0b3JfbGFiZWxzKGFjY291bnQpc3RyaW5nW10iLCBtZXRob2QgImFkZF9sYWJlbF90b19hc3NldChzdHJpbmcsYXNzZXQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsX3RvX2Fzc2V0cyhzdHJpbmcsdWludDY0W10pdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQoc3RyaW5nLGFzc2V0KXZvaWQiLCBtZXRob2QgImhhc19hc3NldF9sYWJlbCh1aW50NjQsc3RyaW5nKXVpbnQ2NCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2xhYmVscyhhc3NldClzdHJpbmdbXSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19sYWJlbHModWludDY0W10pc3RyaW5nW11bXSIsIG1ldGhvZCAibG9nX2Fzc2V0c19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X21pY3JvKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNybyh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4LHN0cmluZ1tdKSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNyb19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RpbnkodWludDY0KShzdHJpbmcsc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c190aW55KHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90aW55X2xhYmVscyh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RpbnlfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90ZXh0KHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcpIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHQodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF9zbWFsbCh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsdWludDY0LGJvb2wsYm9vbCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfc21hbGwodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2Z1bGwodWludDY0KShzdHJpbmcsc3RyaW5nLHN0cmluZyx1aW50NjQsdWludDgsYWRkcmVzcyxhZGRyZXNzLGFkZHJlc3MsYWRkcmVzcyxhZGRyZXNzLGJvb2wsYnl0ZVtdLHVpbnQ2NCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfZnVsbCh1aW50NjRbXSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9jaGFuZ2VfYWRtaW5fcm91dGVANSBtYWluX2FkZF9sYWJlbF9yb3V0ZUA2IG1haW5faGFzX2xhYmVsX3JvdXRlQDcgbWFpbl9jaGFuZ2VfbGFiZWxfcm91dGVAOCBtYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5IG1haW5fZ2V0X2xhYmVsX3JvdXRlQDEwIG1haW5fbG9nX2xhYmVsc19yb3V0ZUAxMSBtYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMiBtYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMyBtYWluX3JlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX3JvdXRlQDE0IG1haW5fZ2V0X29wZXJhdG9yX2xhYmVsc19yb3V0ZUAxNSBtYWluX2FkZF9sYWJlbF90b19hc3NldF9yb3V0ZUAxNiBtYWluX2FkZF9sYWJlbF90b19hc3NldHNfcm91dGVAMTcgbWFpbl9yZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9yb3V0ZUAxOCBtYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOSBtYWluX2dldF9hc3NldF9sYWJlbHNfcm91dGVAMjAgbWFpbl9nZXRfYXNzZXRzX2xhYmVsc19yb3V0ZUAyMSBtYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyIG1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzIG1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNCBtYWluX2dldF9hc3NldF9taWNyb19sYWJlbHNfcm91dGVAMjUgbWFpbl9nZXRfYXNzZXRzX21pY3JvX2xhYmVsc19yb3V0ZUAyNiBtYWluX2dldF9hc3NldF90aW55X3JvdXRlQDI3IG1haW5fZ2V0X2Fzc2V0c190aW55X3JvdXRlQDI4IG1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5IG1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMCBtYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxIG1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyIG1haW5fZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3JvdXRlQDMzIG1haW5fZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19yb3V0ZUAzNCBtYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNSBtYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzYgbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNyBtYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzOAoKbWFpbl9hZnRlcl9pZl9lbHNlQDQzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICBpbnRjXzAgLy8gMAogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfZnVsbAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9mdWxsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX3NtYWxsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9zbWFsbAogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRzX3RleHRfbGFiZWxzX3JvdXRlQDM0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5MwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0X2xhYmVscwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfcm91dGVAMzM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0CiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2NgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RleHQKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueV9sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfdGlueV9yb3V0ZUAyODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueQogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGlueV9yb3V0ZUAyNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF90aW55CiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfbWljcm9fbGFiZWxzX3JvdXRlQDI2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwMwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19yb3V0ZUAyNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzgxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfbWljcm8KICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM3NwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X21pY3JvCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2Fzc2V0c19sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19sYWJlbHNfcm91dGVAMjE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfbGFiZWxzX3JvdXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBoYXNfYXNzZXRfbGFiZWwKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfcm91dGVAMTg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fYWRkX2xhYmVsX3RvX2Fzc2V0c19yb3V0ZUAxNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyODIKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgyCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0cwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfdG9fYXNzZXRfcm91dGVAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc3CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc3CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0CiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9vcGVyYXRvcl9sYWJlbHNfcm91dGVAMTU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMzUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9yb3V0ZUAxNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX29wZXJhdG9yX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjAKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2MAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGFkZF9vcGVyYXRvcl90b19sYWJlbAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9sb2dfbGFiZWxzX3JvdXRlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyNwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2xhYmVscwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfbGFiZWxfcm91dGVAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2xhYmVsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiByZW1vdmVfbGFiZWwKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2xhYmVsX3JvdXRlQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgY2hhbmdlX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19sYWJlbF9yb3V0ZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGhhc19sYWJlbAogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfcm91dGVANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2NoYW5nZV9hZG1pbl9yb3V0ZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgY2hhbmdlX2FkbWluCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2JhcmVfcm91dGluZ0AzOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgc3dpdGNoIG1haW5fX19hbGdvcHlfZGVmYXVsdF9jcmVhdGVANDIgbWFpbl9hZnRlcl9pZl9lbHNlQDQzIG1haW5fYWZ0ZXJfaWZfZWxzZUA0MyBtYWluX2FmdGVyX2lmX2Vsc2VANDMgbWFpbl91cGRhdGVANDAgbWFpbl9kZWxldGVANDEKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDQzCgptYWluX2RlbGV0ZUA0MToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3NQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZChhbGxvd19hY3Rpb25zPSgiRGVsZXRlQXBwbGljYXRpb24iLCkpCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZGVsZXRlCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX3VwZGF0ZUA0MDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3MQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZChhbGxvd19hY3Rpb25zPSgiVXBkYXRlQXBwbGljYXRpb24iLCkpCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgdXBkYXRlCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDQyOgogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gY3JlYXRpbmcKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyBfcHV5YV9saWIuYXJjNC5keW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkKGFycmF5OiBieXRlcywgbmV3X2l0ZW1zX2J5dGVzOiBieXRlcywgbmV3X2l0ZW1zX2NvdW50OiB1aW50NjQpIC0+IGJ5dGVzOgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkOgogICAgcHJvdG8gMyAxCiAgICBmcmFtZV9kaWcgLTMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwCiAgICBmcmFtZV9kaWcgLTEKICAgICsKICAgIHN3YXAKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb3ZlciAyCiAgICBmcmFtZV9kaWcgLTMKICAgIGludGNfMiAvLyAyCiAgICBkaWcgMgogICAgc3Vic3RyaW5nMwogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgYnplcm8KICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGZyYW1lX2RpZyAtMwogICAgdW5jb3ZlciAzCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBzd2FwCgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2Zvcl9oZWFkZXJAMjoKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9kaWcgMgogICAgPAogICAgYnogZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZF9hZnRlcl9mb3JANQogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMwogICAgZHVwCiAgICBjb3ZlciA0CiAgICB1bmNvdmVyIDIKICAgIHJlcGxhY2UzCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMQogICAgZGlnIDEKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZnJhbWVfYnVyeSAzCiAgICBiIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfZm9yX2hlYWRlckAyCgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2FmdGVyX2ZvckA1OgogICAgZnJhbWVfZGlnIDAKICAgIGZyYW1lX2RpZyAxCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gX3B1eWFfbGliLmFyYzQuZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50KGFycmF5X2l0ZW1zX2NvdW50OiB1aW50NjQsIGFycmF5X2hlYWRfYW5kX3RhaWw6IGJ5dGVzLCBuZXdfaXRlbXNfY291bnQ6IHVpbnQ2NCwgbmV3X2hlYWRfYW5kX3RhaWw6IGJ5dGVzKSAtPiBieXRlczoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50OgogICAgcHJvdG8gNCAxCiAgICBieXRlY18xIC8vICIiCiAgICBkdXAKICAgIGZyYW1lX2RpZyAtMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGZyYW1lX2RpZyAtNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGludGNfMCAvLyAwCgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfZm9yX2hlYWRlckAxOgogICAgZnJhbWVfZGlnIDQKICAgIGZyYW1lX2RpZyAzCiAgICA8CiAgICBieiBkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgY292ZXIgMgogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2RpZyAyCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDEKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JANDoKICAgIGZyYW1lX2RpZyAtMwogICAgbGVuCiAgICBmcmFtZV9idXJ5IDAKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDQKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDU6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIC0xCiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfZGlnIDAKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDEKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJANQoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA4OgogICAgZnJhbWVfZGlnIC00CiAgICBmcmFtZV9kaWcgLTIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTMKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9kaWcgMAogICAgc3Vic3RyaW5nMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgZnJhbWVfZGlnIC0xCiAgICBmcmFtZV9kaWcgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LmIyc3RyKGI6IGJ5dGVzKSAtPiBieXRlczoKYjJzdHI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTItNTMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgYjJzdHIoYjogQnl0ZXMpIC0+IGFyYzQuU3RyaW5nOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQKICAgIC8vIHJldHVybiBhcmM0LlN0cmluZyhTdHJpbmcuZnJvbV9ieXRlcyhiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0xCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLnVwZGF0ZSgpIC0+IHZvaWQ6CnVwZGF0ZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3MwogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZGVsZXRlKCkgLT4gdm9pZDoKZGVsZXRlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc3CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZG1pbl9vbmx5KCkgLT4gdm9pZDoKYWRtaW5fb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4MQogICAgLy8gZW5zdXJlKFR4bi5zZW5kZXIgPT0gc2VsZi5hZG1pbiwgUygiRVJSOlVOQVVUSCIpKQogICAgdHhuIFNlbmRlcgogICAgaW50Y18wIC8vIDAKICAgIGJ5dGVjIDUgLy8gImFkbWluIgogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFkbWluIGV4aXN0cwogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRtaW5fb25seV9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4MQogICAgLy8gZW5zdXJlKFR4bi5zZW5kZXIgPT0gc2VsZi5hZG1pbiwgUygiRVJSOlVOQVVUSCIpKQogICAgYnl0ZWMgMTEgLy8gIkVSUjpVTkFVVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRtaW5fb25seV9hZnRlcl9pZl9lbHNlQDM6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfYWRtaW4obmV3X2FkbWluOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2FkbWluOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzLTg0CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBjaGFuZ2VfYWRtaW4oc2VsZiwgbmV3X2FkbWluOiBBY2NvdW50KSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODUKICAgIC8vIHNlbGYuYWRtaW5fb25seSgpCiAgICBjYWxsc3ViIGFkbWluX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4NgogICAgLy8gc2VsZi5hZG1pbiA9IG5ld19hZG1pbgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBmcmFtZV9kaWcgLTEKICAgIGFwcF9nbG9iYWxfcHV0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZGRfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKYWRkX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4LTg5CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBhZGRfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZywgbmFtZTogU3RyaW5nLCB1cmw6IFN0cmluZykgLT4gTm9uZTogICMgbm9xYSBBMDAyCiAgICBwcm90byAzIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MAogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkxCiAgICAvLyBlbnN1cmUoaWQgbm90IGluIHNlbGYubGFiZWxzLCBTKCJFUlI6RVhJU1RTIikpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJ6IGFkZF9sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MQogICAgLy8gZW5zdXJlKGlkIG5vdCBpbiBzZWxmLmxhYmVscywgUygiRVJSOkVYSVNUUyIpKQogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkyCiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMwogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkyCiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NAogICAgLy8gYXJjNC5TdHJpbmcobmFtZSksCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTUKICAgIC8vIGFyYzQuU3RyaW5nKHVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTMtOTgKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IExhYmVsRGVzY3JpcHRvcigKICAgIC8vICAgICBhcmM0LlN0cmluZyhuYW1lKSwKICAgIC8vICAgICBhcmM0LlN0cmluZyh1cmwpLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gKQogICAgZGlnIDEKICAgIGxlbgogICAgcHVzaGludCAyMCAvLyAyMAogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwMTQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBhcmM0LlVJbnQ2NCgwKSwKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTMtOTgKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IExhYmVsRGVzY3JpcHRvcigKICAgIC8vICAgICBhcmM0LlN0cmluZyhuYW1lKSwKICAgIC8vICAgICBhcmM0LlN0cmluZyh1cmwpLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gKQogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTcKICAgIC8vIGFyYzQuVUludDY0KDApLAogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5My05OAogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTMKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmhhc19sYWJlbChpZDogYnl0ZXMpIC0+IHVpbnQ2NDoKaGFzX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMC0xMDEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBoYXNfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gVUludDY0OiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMgogICAgLy8gZW5zdXJlKGlkLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGhhc19sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDIKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgYnl0ZWMgNiAvLyAiRVJSOkxFTkdUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpoYXNfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMwogICAgLy8gcmV0dXJuIFVJbnQ2NChpZCBpbiBzZWxmLmxhYmVscykKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNS0xMDYKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGNoYW5nZV9sYWJlbChzZWxmLCBpZDogU3RyaW5nLCBuYW1lOiBTdHJpbmcsIHVybDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDMgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNwogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogY2hhbmdlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKY2hhbmdlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDkKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tpZF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTAKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubmFtZSA9IGFyYzQuU3RyaW5nKG5hbWUpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBkaWcgMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMgogICAgaW50Y18wIC8vIDAKICAgIGRpZyAyCiAgICBleHRyYWN0MwogICAgZGlnIDMKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZGlnIDQKICAgIGxlbgogICAgdW5jb3ZlciA1CiAgICBkaWcgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICB1bmNvdmVyIDIKICAgIGRpZyA0CiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgdW5jb3ZlciAyCiAgICAtCiAgICB1bmNvdmVyIDIKICAgIGxlbgogICAgZGlnIDIKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgKwogICAgc3dhcAogICAgLQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHJlcGxhY2UyIDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTEKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IudXJsID0gYXJjNC5TdHJpbmcodXJsKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgZGlnIDEKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgdW5jb3ZlciAyCiAgICBpbnRjXzAgLy8gMAogICAgdW5jb3ZlciAyCiAgICBleHRyYWN0MwogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTEyCiAgICAvLyBzZWxmLmxhYmVsc1tpZF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMwogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcucmVtb3ZlX2xhYmVsKGlkOiBieXRlcykgLT4gdm9pZDoKcmVtb3ZlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNC0xMTUKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbChzZWxmLCBpZDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNgogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNwogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNwogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTgKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX29wZXJhdG9ycyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBleHRyYWN0IDEyIDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgYj09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IHJlbW92ZV9sYWJlbF9hZnRlcl9pZl9lbHNlQDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTgKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX29wZXJhdG9ycyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX2Fzc2V0cyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBleHRyYWN0IDQgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX2Fzc2V0cyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIwCiAgICAvLyBkZWwgc2VsZi5sYWJlbHNbaWRdCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9kZWwKICAgIHBvcAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2xhYmVsKGlkOiBieXRlcykgLT4gYnl0ZXM6CmdldF9sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjItMTIzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcpIC0+IExhYmVsRGVzY3JpcHRvcjogICMgbm9xYSBBMDAyCiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGVuc3VyZShpZCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGdldF9sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGVuc3VyZShpZCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmdldF9sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTI1CiAgICAvLyByZXR1cm4gc2VsZi5sYWJlbHNbaWRdCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19sYWJlbHMoaWRzOiBieXRlcykgLT4gdm9pZDoKbG9nX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjctMTI4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgbG9nX2xhYmVscyhzZWxmLCBpZHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyOQogICAgLy8gZm9yIF9pZHgsIGxhYmVsX2lkIGluIHVlbnVtZXJhdGUoaWRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKbG9nX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTI5CiAgICAvLyBmb3IgX2lkeCwgbGFiZWxfaWQgaW4gdWVudW1lcmF0ZShpZHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBsb2dfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTMwCiAgICAvLyBsb2coc2VsZi5sYWJlbHNbbGFiZWxfaWQubmF0aXZlXSkKICAgIGV4dHJhY3QgMiAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgbG9nX2xhYmVsc19mb3JfaGVhZGVyQDEKCmxvZ19sYWJlbHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZG1pbl9vcl9vcGVyYXRvcl9vbmx5KGxhYmVsOiBieXRlcykgLT4gdm9pZDoKYWRtaW5fb3Jfb3BlcmF0b3Jfb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzYtMTM3CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIGFkbWluX29yX29wZXJhdG9yX29ubHkoc2VsZiwgbGFiZWw6IFN0cmluZykgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzOAogICAgLy8gaWYgVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluOgogICAgdHhuIFNlbmRlcgogICAgaW50Y18wIC8vIDAKICAgIGJ5dGVjIDUgLy8gImFkbWluIgogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFkbWluIGV4aXN0cwogICAgPT0KICAgIGJ6IGFkbWluX29yX29wZXJhdG9yX29ubHlfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTM5CiAgICAvLyByZXR1cm4KICAgIHJldHN1YgoKYWRtaW5fb3Jfb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQwCiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcub3BlcmF0b3Jfb25seShsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6Cm9wZXJhdG9yX29ubHk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQyLTE0MwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBvcGVyYXRvcl9vbmx5KHNlbGYsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDQKICAgIC8vIG9wZXJhdG9yX2luZGV4ID0gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgoVHhuLnNlbmRlciwgbGFiZWwpCiAgICB0eG4gU2VuZGVyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDYKICAgIC8vIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQ2LTE0NwogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBieiBvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0NwogICAgLy8gYW5kIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0Ni0xNDcKICAgIC8vIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgLy8gYW5kIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgYnogb3BlcmF0b3Jfb25seV9ib29sX2ZhbHNlQDMKICAgIGludGNfMSAvLyAxCgpvcGVyYXRvcl9vbmx5X2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDgKICAgIC8vIFMoIkVSUjpVTkFVVEgiKSwKICAgIGJ5dGVjIDExIC8vICJFUlI6VU5BVVRIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCm9wZXJhdG9yX29ubHlfYWZ0ZXJfaWZfZWxzZUA3OgogICAgcmV0c3ViCgpvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMCAvLyAwCiAgICBiIG9wZXJhdG9yX29ubHlfYm9vbF9tZXJnZUA0CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB1aW50NjQ6CmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTEtMTUyCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChzZWxmLCBvcGVyYXRvcjogQWNjb3VudCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBpbnRjXzAgLy8gMAogICAgYnl0ZWNfMSAvLyAiIgogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTUzCiAgICAvLyBpZiBvcGVyYXRvciBub3QgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYm56IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX0tFWSkKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTUKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgMQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgMgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTUKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgMgogICAgZnJhbWVfZGlnIDEKICAgIDwKICAgIGJ6IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NgogICAgLy8gaWYgc3RvcmVkX2xhYmVsID09IGxhYmVsOgogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMQogICAgPT0KICAgIGJ6IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTcKICAgIC8vIHJldHVybiBpZHgKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANjoKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDMKCmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9mb3JAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTgKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX29wZXJhdG9yX3RvX2xhYmVsKG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB2b2lkOgphZGRfb3BlcmF0b3JfdG9fbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYwLTE2MQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX29wZXJhdG9yX3RvX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYyCiAgICAvLyBzZWxmLmFkbWluX29yX29wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgYWRtaW5fb3Jfb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2MwogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjMKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDEwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2NC0xNjUKICAgIC8vICMgY2hlY2sgaWYgb3BlcmF0b3IgZXhpc3RzIGFscmVhZHkKICAgIC8vIGlmIG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzOgogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGFkZF9vcGVyYXRvcl90b19sYWJlbF9lbHNlX2JvZHlAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2OAogICAgLy8gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTY5CiAgICAvLyA9PSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTY4LTE2OQogICAgLy8gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgLy8gPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcwCiAgICAvLyBTKCJFUlI6RVhJU1RTIiksCiAgICBieXRlYyA3IC8vICJFUlI6RVhJU1RTIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTczLTE3NAogICAgLy8gIyBhZGQgbGFiZWwgdG8gb3BlcmF0b3IKICAgIC8vIGV4aXN0aW5nID0gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc1CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3NgogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gZXhpc3RpbmcuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CgphZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4MS0xODIKICAgIC8vICMgaW5jcmVtZW50IGxhYmVsIG9wZXJhdG9ycwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzLm5hdGl2ZSArIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDEyIC8vIDEyCiAgICBleHRyYWN0X3VpbnQ2NAogICAgaW50Y18xIC8vIDEKICAgICsKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODMtMTg1CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMgPSBhcmM0LlVJbnQ2NCgKICAgIC8vICAgICBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlICsgVUludDY0KDEpCiAgICAvLyApCiAgICBpdG9iCiAgICByZXBsYWNlMiAxMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NgogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTEKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2Vsc2VfYm9keUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3OC0xNzkKICAgIC8vICMgbmV3IG9wZXJhdG9yLCBjcmVhdGUgbmV3IGJveAogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gYXJjNC5EeW5hbWljQXJyYXkoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgYnl0ZWMgOSAvLyAweDAwMDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgYnl0ZWMgMTIgLy8gMHgwMDAxCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIGIgYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmhhc19vcGVyYXRvcl9sYWJlbChvcGVyYXRvcjogYnl0ZXMsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfb3BlcmF0b3JfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg4LTE4OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19vcGVyYXRvcl9sYWJlbChzZWxmLCBvcGVyYXRvcjogQWNjb3VudCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBieXRlY18xIC8vICIiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkwCiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogaGFzX29wZXJhdG9yX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5MAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBieXRlYyA2IC8vICJFUlI6TEVOR1RIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmhhc19vcGVyYXRvcl9sYWJlbF9hZnRlcl9pZl9lbHNlQDc6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkxCiAgICAvLyBpZHggPSBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkyCiAgICAvLyByZXR1cm4gVUludDY0KGlkeCAhPSBOT1RfRk9VTkRfS0VZIGFuZCBpZHggIT0gTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgICE9CiAgICBieiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBmcmFtZV9kaWcgMAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICBieiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBpbnRjXzEgLy8gMQoKaGFzX29wZXJhdG9yX2xhYmVsX2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIHJldHVybiBVSW50NjQoaWR4ICE9IE5PVF9GT1VORF9LRVkgYW5kIGlkeCAhPSBOT1RfRk9VTkRfVkFMVUUpCiAgICBzd2FwCiAgICByZXRzdWIKCmhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDM6CiAgICBpbnRjXzAgLy8gMAogICAgYiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9tZXJnZUA0CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcucmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWwob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6CnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NC0xOTUKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiA0CiAgICBieXRlY18xIC8vICIiCiAgICBkdXBuIDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTYKICAgIC8vIHNlbGYuYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBhZG1pbl9vcl9vcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk4CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI4CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk4CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OQogICAgLy8gZW5zdXJlKG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OQogICAgLy8gZW5zdXJlKG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDEtMjAyCiAgICAvLyAjIGVuc3VyZSBsYWJlbCBleGlzdHMgaW4gb3BlcmF0b3IKICAgIC8vIGxhYmVsX2lkeCA9IHNlbGYuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yLCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDQKICAgIC8vIGxhYmVsX2lkeCAhPSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA0LTIwNgogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNS0yMDYKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgZnJhbWVfZGlnIDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDYKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDUtMjA2CiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA0LTIwNgogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMwogICAgaW50Y18xIC8vIDEKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNwogICAgLy8gUygiRVJSOk5PRVhJU1QiKSwKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjEwLTIxMQogICAgLy8gIyBlbnN1cmUgb25seSBlbXB0eSBsYWJlbHMgY2FuIGJlIGxlZnQgb3BlcmF0b3ItbGVzcwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDAKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTMKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA+IDEgb3IgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID09IDAsCiAgICBleHRyYWN0IDEyIDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCiAgICBiPgogICAgYm56IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfdHJ1ZUA2CiAgICBmcmFtZV9kaWcgMAogICAgZXh0cmFjdCA0IDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgYj09CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDcKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfdHJ1ZUA2OgogICAgaW50Y18xIC8vIDEKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIxNAogICAgLy8gUygiRVJSOk5PRU1QVFkiKSwKICAgIGJ5dGVjIDggLy8gIkVSUjpOT0VNUFRZIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjE4CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlIC0gVUludDY0KDEpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBwdXNoaW50IDEyIC8vIDEyCiAgICBleHRyYWN0X3VpbnQ2NAogICAgaW50Y18xIC8vIDEKICAgIC0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTYtMjE5CiAgICAvLyAjIGRlY3Igb3BlcmF0b3IgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgLSBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDEyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIwCiAgICAvLyBzZWxmLmxhYmVsc1tsYWJlbF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMQogICAgc3dhcAogICAgYm94X3B1dAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyMgogICAgLy8gaWYgc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdLmxlbmd0aCA9PSAxOgogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAxCiAgICA9PQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZWxzZV9ib2R5QDEwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIzCiAgICAvLyBkZWwgc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgcmV0c3ViCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9lbHNlX2JvZHlAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI1CiAgICAvLyBuZXh0X2xpc3QgPSBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMyAvLyAweDAwMDAKICAgIGZyYW1lX2J1cnkgMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyNi0yMjkKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIGV4Y2VwdCBpbmRleAogICAgLy8gIyB0aGlzIGltcGxlbWVudGF0aW9uIHdhbGtzIHR3aWNlIChvbmNlIGluIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleCkKICAgIC8vICMgY291bGQgYmUgbW9yZSBlZmZpY2llbnQKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAxCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgNgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZm9yX2hlYWRlckAxMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjYtMjI5CiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyBleGNlcHQgaW5kZXgKICAgIC8vICMgdGhpcyBpbXBsZW1lbnRhdGlvbiB3YWxrcyB0d2ljZSAob25jZSBpbiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgpCiAgICAvLyAjIGNvdWxkIGJlIG1vcmUgZWZmaWNpZW50CiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0pOgogICAgZnJhbWVfZGlnIDYKICAgIGZyYW1lX2RpZyA1CiAgICA8CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9mb3JAMTYKICAgIGZyYW1lX2RpZyAxCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDYKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZnJhbWVfYnVyeSA0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMwCiAgICAvLyBpZiBsYWJlbF9pZHggIT0gaWR4OgogICAgZnJhbWVfZGlnIDcKICAgICE9CiAgICBmcmFtZV9kaWcgMgogICAgZnJhbWVfYnVyeSAzCiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDE0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMxCiAgICAvLyBuZXh0X2xpc3QuYXBwZW5kKHN0b3JlZF9sYWJlbCkKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgZnJhbWVfYnVyeSAzCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDE0OgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2J1cnkgMgogICAgZnJhbWVfZGlnIDYKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZm9yX2hlYWRlckAxMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfZm9yQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzMwogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIDIKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUA3OgogICAgaW50Y18wIC8vIDAKICAgIGIgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA4CgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDM6CiAgICBpbnRjXzAgLy8gMAogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfb3BlcmF0b3JfbGFiZWxzKG9wZXJhdG9yOiBieXRlcykgLT4gYnl0ZXM6CmdldF9vcGVyYXRvcl9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM1LTIzNgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9vcGVyYXRvcl9sYWJlbHMoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQpIC0+IExhYmVsTGlzdDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzNwogICAgLy8gaWYgb3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMzgKICAgIC8vIHJldHVybiBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYub3BlcmF0b3JzIGVudHJ5IGV4aXN0cwogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzOS0yNDAKICAgIC8vICMgcmV0dXJuIGVtcHR5IGxpc3QKICAgIC8vIHJldHVybiBlbXB0eV9saXN0KCkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9sYWJlbF9pbmRleChhc3NldDogdWludDY0LCBsYWJlbDogYnl0ZXMpIC0+IHVpbnQ2NDoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0Mi0yNDMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KHNlbGYsIGFzc2V0OiBBc3NldCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwCiAgICBieXRlY18xIC8vICIiCiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDQKICAgIC8vIGVuc3VyZShsYWJlbC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAxMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBieXRlYyA2IC8vICJFUlI6TEVOR1RIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NQogICAgLy8gaWYgYXNzZXQgbm90IGluIHNlbGYuYXNzZXRzOgogICAgZnJhbWVfZGlnIC0yCiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBibnogZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NgogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NwogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5hc3NldHNbYXNzZXRdKToKICAgIGZyYW1lX2RpZyAxCiAgICBib3hfZ2V0CiAgICBzd2FwCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGZyYW1lX2J1cnkgMAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9idXJ5IDIKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDMKCmdldF9hc3NldF9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ3CiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAyCiAgICA8CiAgICBieiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfZm9yQDgKICAgIGZyYW1lX2RpZyAwCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDMKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkaWcgMQogICAgc3dhcAogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZXh0cmFjdDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDgKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCA9PSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTEKICAgID09CiAgICBieiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ5CiAgICAvLyByZXR1cm4gaWR4CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDY6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfZm9yX2hlYWRlckAzCgpnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfZm9yQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjUwCiAgICAvLyByZXR1cm4gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWw6IGJ5dGVzLCBhc3NldDogdWludDY0KSAtPiB2b2lkOgpfYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1Mi0yNTMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgX2FkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIGludGNfMCAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NAogICAgLy8gZW5zdXJlKG5vdCBhc3NldF9pc19kZWxldGVkKGFzc2V0LmlkKSwgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTUKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxNgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NQogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKX2FkZF9sYWJlbF90b19hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NgogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTkKICAgIC8vIHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkgPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2MAogICAgLy8gUygiRVJSOkVYSVNUUyIpLAogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjItMjYzCiAgICAvLyAjIGFkZCBsYWJlbCB0byBhc3NldAogICAgLy8gZXhpc3RpbmcgPSBzZWxmLmFzc2V0c1thc3NldF0uY29weSgpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjY0CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0yCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2NQogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gZXhpc3RpbmcuY29weSgpCiAgICBkaWcgMQogICAgYm94X2RlbAogICAgcG9wCiAgICBib3hfcHV0CgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzAtMjcxCiAgICAvLyAjIGluY3IgYXNzZXQgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tsYWJlbF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzMKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIGR1cAogICAgcHVzaGludCA0IC8vIDQKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3Mi0yNzQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzUKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjY3LTI2OAogICAgLy8gIyBuZXcgYXNzZXQsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLmFzc2V0c1thc3NldF0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICBiIF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0KGxhYmVsOiBieXRlcywgYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3Ny0yNzgKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzkKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgwCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIGFzc2V0KQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2FkZF9sYWJlbF90b19hc3NldAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0cyhsYWJlbDogYnl0ZXMsIGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9sYWJlbF90b19hc3NldHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgyLTI4NQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX2xhYmVsX3RvX2Fzc2V0cygKICAgIC8vICAgICBzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XQogICAgLy8gKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg2CiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmFkZF9sYWJlbF90b19hc3NldHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg4CiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIEFzc2V0KGFzc2V0Lm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBjYWxsc3ViIF9hZGRfbGFiZWxfdG9fYXNzZXQKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgYWRkX2xhYmVsX3RvX2Fzc2V0c19mb3JfaGVhZGVyQDEKCmFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWxfZnJvbV9hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6CnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5MC0yOTEKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18wIC8vIDAKICAgIGR1cG4gMwogICAgYnl0ZWNfMSAvLyAiIgogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5NAogICAgLy8gc2VsZi5vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBjYWxsc3ViIG9wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTYKICAgIC8vIGZvdW5kID0gRmFsc2UKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTcKICAgIC8vIGlmIHNlbGYuYXNzZXRzW2Fzc2V0XS5sZW5ndGggPT0gMToKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlANQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5OAogICAgLy8gaWYgc2VsZi5hc3NldHNbYXNzZXRdWzBdID09IGxhYmVsOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGR1cAogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgYXNzZXJ0IC8vIEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMgogICAgPT0KICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjk5CiAgICAvLyBkZWwgc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzAwCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMSAvLyAxCiAgICBmcmFtZV9idXJ5IDYKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgZnJhbWVfZGlnIDYKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE1CiAgICAvLyBlbnN1cmUoZm91bmQsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNy0zMTgKICAgIC8vICMgZGVjciBhc3NldCBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDQgLy8gNAogICAgZXh0cmFjdF91aW50NjQKICAgIGludGNfMSAvLyAxCiAgICAtCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE5LTMyMQogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMgogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzAyCiAgICAvLyBmb3VuZCA9IEZhbHNlCiAgICBpbnRjXzAgLy8gMAogICAgZnJhbWVfYnVyeSA2CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTMKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNAogICAgLy8gbmV4dF9saXN0ID0gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDUtMzA3CiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyB0byBuZXcgYm94IGV4Y2VwdCBsYWJlbAogICAgLy8gIyBzYXZlICRmb3VuZCB0byB0aHJvdyBpZiBub3QgZm91bmQKICAgIC8vIGZvciBfaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZm9yX2hlYWRlckA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNS0zMDcKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIHRvIG5ldyBib3ggZXhjZXB0IGxhYmVsCiAgICAvLyAjIHNhdmUgJGZvdW5kIHRvIHRocm93IGlmIG5vdCBmb3VuZAogICAgLy8gZm9yIF9pZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2ZvckAxMgogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDgKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCAhPSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTIKICAgICE9CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlAOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwOQogICAgLy8gbmV4dF9saXN0LmFwcGVuZChzdG9yZWRfbGFiZWwpCiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMSAvLyAxCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQKICAgIGZyYW1lX2J1cnkgMQoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMDoKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Zvcl9oZWFkZXJANgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzExCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMSAvLyAxCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfZm9yQDEyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMwogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgMQogICAgYm94X3B1dAogICAgYiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDEzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2Fzc2V0X2xhYmVsKGFzc2V0X2lkOiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfYXNzZXRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI0LTMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19hc3NldF9sYWJlbChzZWxmLCBhc3NldF9pZDogVUludDY0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjcKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9hc3NldF9sYWJlbF9pbmRleAogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI4CiAgICAvLyBpZiBpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRToKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyOQogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18xIC8vIDEKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzAKICAgIC8vIHJldHVybiBVSW50NjQoMCkKICAgIGludGNfMCAvLyAwCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMi0zMzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxzKHNlbGYsIGFzc2V0OiBBc3NldCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM0CiAgICAvLyBpZiBhc3NldCBpbiBzZWxmLmFzc2V0czoKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGdldF9hc3NldF9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM1CiAgICAvLyByZXR1cm4gc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgc3dhcAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzNi0zMzcKICAgIC8vICMgcmV0dXJuIGVtcHR5CiAgICAvLyByZXR1cm4gZW1wdHlfbGlzdCgpCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2Fzc2V0c19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM5LTM0MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfbGFiZWxzKAogICAgLy8gICAgIHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdCiAgICAvLyApIC0+IGFyYzQuRHluYW1pY0FycmF5W0xhYmVsTGlzdF06CiAgICBwcm90byAxIDEKICAgIGludGNfMCAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQzCiAgICAvLyBvdXQgPSBhcmM0LkR5bmFtaWNBcnJheVtMYWJlbExpc3RdKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQ0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c19sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbGFiZWxzX2FmdGVyX2ZvckA3CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDUKICAgIC8vIGFzc2V0ID0gQXNzZXQoYXNzZXRfaWQubmF0aXZlKQogICAgZXh0cmFjdF91aW50NjQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDYKICAgIC8vIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzOgogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDcKICAgIC8vIG91dC5hcHBlbmQoc2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzEgLy8gMQogICAgdW5jb3ZlciAzCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudAogICAgZnJhbWVfYnVyeSAxCgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9pZl9lbHNlQDU6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbGFiZWxzX2Vsc2VfYm9keUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OQogICAgLy8gb3V0LmFwcGVuZChlbXB0eV9saXN0KCkpCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzEgLy8gMQogICAgcHVzaGJ5dGVzIDB4MDAwMjAwMDAKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50CiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1CgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTAKICAgIC8vIHJldHVybiBvdXQKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19hc3NldHNfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmxvZ19hc3NldHNfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1Mi0zNTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfYXNzZXRzX2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgaW50Y18wIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTQKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpsb2dfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzU0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfZm9yQDcKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NQogICAgLy8gYXNzZXQgPSBBc3NldChhc3NldF9pZC5uYXRpdmUpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NgogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBsb2dfYXNzZXRzX2xhYmVsc19lbHNlX2JvZHlANAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NwogICAgLy8gbG9nKHNlbGYuYXNzZXRzW2Fzc2V0XSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBsb2cKCmxvZ19hc3NldHNfbGFiZWxzX2FmdGVyX2lmX2Vsc2VANToKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGxvZ19hc3NldHNfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMyAvLyAweDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTkKICAgIC8vIGxvZyhlbXB0eV9saXN0KCkpCiAgICBsb2cKICAgIGIgbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1Cgpsb2dfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzY3LTM2OAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjkKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfbWljcm9fYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcwCiAgICAvLyByZXR1cm4gQXNzZXRNaWNyby5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIHJldHN1YgoKX2dldF9hc3NldF9taWNyb19hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzczCiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlY2ltYWxzCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBkdXAKICAgIGJpdGxlbgogICAgaW50Y18zIC8vIDgKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIGV4dHJhY3QgNyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcyLTM3NQogICAgLy8gcmV0dXJuIEFzc2V0TWljcm8oCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyApCiAgICBwdXNoYnl0ZXMgMHgwMDAzCiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X21pY3JvKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc3LTM3OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF9taWNybyhzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldE1pY3JvOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc5CiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X21pY3JvKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm8KICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfbWljcm8oYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c19taWNybzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODEtMzgyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNybyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4MwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmdldF9hc3NldHNfbWljcm9fZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4MwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbWljcm9fYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg0CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvKGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X21pY3JvCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19taWNyb19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF9taWNyb19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg4LTM4OQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldE1pY3JvTGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzkwCiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTEKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzLmZyb21fYnl0ZXMoYiIiKQogICAgYnl0ZWNfMSAvLyAweAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTQKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5NQogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk2CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9mYWxzZUA0CiAgICBmcmFtZV9kaWcgMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9tZXJnZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5My0zOTcKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzKAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBmcmFtZV9kaWcgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc190ZXJuYXJ5X21lcmdlQDUKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm9fbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5OS00MDAKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDEKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX21pY3JvX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDMtNDA0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA2CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEwLTQxMQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyCiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X3RpbnlfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEzCiAgICAvLyByZXR1cm4gQXNzZXRUaW55LmZyb21fYnl0ZXMoYiIiKQogICAgYnl0ZWNfMSAvLyAweAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNgogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTcKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTgKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTUtNDE5CiAgICAvLyByZXR1cm4gQXNzZXRUaW55KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDEzIC8vIDB4MDAwNQogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF90aW55KGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfdGlueToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjEtNDIyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIzCiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X3RpbnkoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RpbnkoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c190aW55OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyNS00MjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX3Rpbnkoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX3RpbnlfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfdGlueV9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjgKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfdGlueShhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c190aW55X2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c190aW55X2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF90aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzItNDMzCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55TGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDM0CiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzNQogICAgLy8gcmV0dXJuIEFzc2V0VGlueUxhYmVscy5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzgKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzkKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0MAogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQxCiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDQKICAgIGZyYW1lX2RpZyAyCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzctNDQyCiAgICAvLyByZXR1cm4gQXNzZXRUaW55TGFiZWxzKAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICAvLyApCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgNyAvLyA3CiAgICArCiAgICBkdXAKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBwdXNoYnl0ZXMgMHgwMDA3CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIGxlbgogICAgdW5jb3ZlciAyCiAgICArCiAgICBzd2FwCiAgICBmcmFtZV9kaWcgMwogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfbWVyZ2VANQoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF90aW55X2xhYmVscyhhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NC00NDUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55TGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ2CiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGlueV9sYWJlbHMKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfdGlueV9sYWJlbHMoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c190aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDgtNDQ5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190aW55X2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmdldF9hc3NldHNfdGlueV9sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfdGlueV9sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDUxCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c190aW55X2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGlueV9sYWJlbHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTUtNDU2CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfdGV4dChzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldFRleHQ6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTcKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfdGV4dF9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTgKICAgIC8vIHJldHVybiBBc3NldFRleHQuZnJvbV9ieXRlcyhiIiIpCiAgICBieXRlY18xIC8vIDB4CiAgICByZXRzdWIKCl9nZXRfYXNzZXRfdGV4dF9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYxCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2MgogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2MwogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjAtNDY0CiAgICAvLyByZXR1cm4gQXNzZXRUZXh0KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDYgLy8gNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNgogICAgc3dhcAogICAgY29uY2F0CiAgICBkaWcgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDY2LTQ2NwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0KHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2OAogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0KGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0KGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAtNDcxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190ZXh0KHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDcyCiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzIKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDczCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGV4dF9hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDc3LTQ3OAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgaW50Y18wIC8vIDAKICAgIGR1cG4gMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBfdiwgZXhpc3RzID0gb3AuQXNzZXRQYXJhbXNHZXQuYXNzZXRfY3JlYXRvcihhc3NldF9pZCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3OQogICAgLy8gaWYgYXNzZXRfaXNfZGVsZXRlZChhc3NldF9pZCk6CiAgICBibnogX2dldF9hc3NldF90ZXh0X2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODAKICAgIC8vIHJldHVybiBBc3NldFRleHRMYWJlbHMuZnJvbV9ieXRlcyhiIiIpCiAgICBieXRlY18xIC8vIDB4CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90ZXh0X2xhYmVsc19hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDgzCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg0CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODUKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODYKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMwogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3Rlcm5hcnlfZmFsc2VANAogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKCl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9tZXJnZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4Mi00ODcKICAgIC8vIHJldHVybiBBc3NldFRleHRMYWJlbHMoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwMDgKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMgogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAzCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9mYWxzZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICBiIF9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9tZXJnZUA1CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5LTQ5MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0X2xhYmVscyhzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldFRleHRMYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTEKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF90ZXh0X2xhYmVscwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0X2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5My00OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTYKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfc21hbGwoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTAwLTUwMQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3NtYWxsKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0U21hbGw6CiAgICBwcm90byAxIDEKICAgIGludGNfMCAvLyAwCiAgICBkdXBuIDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDIKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfc21hbGxfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTAzCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbC5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDYKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDcKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwOAogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSA1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTA5CiAgICAvLyB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRUb3RhbAogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZnJhbWVfYnVyeSA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEwCiAgICAvLyBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRGcmVlemUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTExCiAgICAvLyBoYXNfY2xhd2JhY2s9YXJjNC5Cb29sKGFzc2V0LmNsYXdiYWNrICE9IEdsb2JhbC56ZXJvX2FkZHJlc3MpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q2xhd2JhY2sKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEyCiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDQKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9zbWFsbF90ZXJuYXJ5X2ZhbHNlQDQKICAgIGZyYW1lX2RpZyA0CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDUtNTEzCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbCgKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIC8vICAgICBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICAvLyAgICAgaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAyCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCAxNiAvLyAxNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxMAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMwogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDUKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDYKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGludGNfMCAvLyAwCiAgICBnZXRiaXQKICAgIHB1c2hpbnQgMTA1IC8vIDEwNQogICAgc3dhcAogICAgc2V0Yml0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VANQoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9zbWFsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3NtYWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNS01MTYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNwogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3NtYWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3NtYWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE5LTUyMAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfc21hbGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjEKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX3NtYWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjEKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMgogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9zbWFsbAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfc21hbGxfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9mdWxsKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI2LTUyNwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAxNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBfdiwgZXhpc3RzID0gb3AuQXNzZXRQYXJhbXNHZXQuYXNzZXRfY3JlYXRvcihhc3NldF9pZCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOAogICAgLy8gaWYgYXNzZXRfaXNfZGVsZXRlZChhc3NldF9pZCk6CiAgICBibnogX2dldF9hc3NldF9mdWxsX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOQogICAgLy8gcmV0dXJuIEFzc2V0RnVsbC5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X2Z1bGxfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzMQogICAgLy8gcmVzZXJ2ZV9hY2N0ID0gQWNjb3VudChhc3NldC5yZXNlcnZlLmJ5dGVzKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzQKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzMtNTM1CiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIC8vIGVsc2UgVUludDY0KDApCiAgICBieiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMzCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQogICAgYXNzZXJ0IC8vIGFjY291bnQgb3B0ZWQgaW50byBhc3NldAoKX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzgKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzkKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MAogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgNQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MQogICAgLy8gdG90YWw9YXJjNC5VSW50NjQoYXNzZXQudG90YWwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VG90YWwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MgogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQzCiAgICAvLyBjcmVhdG9yPWFyYzQuQWRkcmVzcyhhc3NldC5jcmVhdG9yKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NDQKICAgIC8vIG1hbmFnZXI9YXJjNC5BZGRyZXNzKGFzc2V0Lm1hbmFnZXIpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWFuYWdlcgogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0NQogICAgLy8gZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RnJlZXplCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDE0CiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQ2CiAgICAvLyBjbGF3YmFjaz1hcmM0LkFkZHJlc3MoYXNzZXQuY2xhd2JhY2spLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q2xhd2JhY2sKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTAKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NDcKICAgIC8vIHJlc2VydmU9YXJjNC5BZGRyZXNzKGFzc2V0LnJlc2VydmUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0OAogICAgLy8gZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlZmF1bHRGcm96ZW4KICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTUwCiAgICAvLyBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWV0YWRhdGFIYXNoCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBkdXAKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQ5CiAgICAvLyByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU1MQogICAgLy8gbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSA2CiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDcKICAgIGZyYW1lX2RpZyA2CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNy01NTIKICAgIC8vIHJldHVybiBBc3NldEZ1bGwoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICAvLyAgICAgbWFuYWdlcj1hcmM0LkFkZHJlc3MoYXNzZXQubWFuYWdlciksCiAgICAvLyAgICAgZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgLy8gICAgIGNsYXdiYWNrPWFyYzQuQWRkcmVzcyhhc3NldC5jbGF3YmFjayksCiAgICAvLyAgICAgcmVzZXJ2ZT1hcmM0LkFkZHJlc3MoYXNzZXQucmVzZXJ2ZSksCiAgICAvLyAgICAgZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIC8vICAgICByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIC8vICAgICBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDE4OCAvLyAxODgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwYmMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgNQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDgKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDcKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEyCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMTQKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMQogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMAogICAgY29uY2F0CiAgICBkaWcgMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIHN3YXAKICAgIGZyYW1lX2RpZyA5CiAgICBjb25jYXQKICAgIHN3YXAKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgNAogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfZmFsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA4CgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNQogICAgLy8gZWxzZSBVSW50NjQoMCkKICAgIGludGNfMCAvLyAwCiAgICBiIF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDUKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfZnVsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU0LTU1NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF9mdWxsKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0RnVsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU1NgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9mdWxsKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfZnVsbAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c19mdWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfZnVsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTgtNTU5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19mdWxsKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTYwCiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c19mdWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NjAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX2Z1bGxfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTYxCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X2Z1bGwoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfZnVsbAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfZnVsbF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfZnVsbF9hZnRlcl9mb3JANDoKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K" }, "state": { diff --git a/projects/abel-sdk-v2/docs/AbelSDK/index.html b/projects/abel-sdk-v2/docs/AbelSDK/index.html new file mode 100644 index 0000000..45eaddd --- /dev/null +++ b/projects/abel-sdk-v2/docs/AbelSDK/index.html @@ -0,0 +1,197 @@ +AbelSDK | abel-sdk
abel-sdk
    Preparing search index...

    Class AbelSDK

    The AbelSDK class is an SDK for interacting with an asset labeling system, allowing querying, management, and +association of labels, assets, and operators within a given application. +The class supports read and write operations and relies on Algorand blockchain infrastructure.

    +
    import { AlgorandClient } from "@algorandfoundation/algokit-utils";
    import { AbelSDK } from "abel-sdk";

    const abel = new AbelSDK({
    appId: 2914159523n, // Abel Mainnet PoC App ID
    algorand: AlgorandClient.fromConfig({
    algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 },
    }),
    }); +
    + +
    Index

    Constructors

    Properties

    Represents an instance of AssetLabelingClient used to read data from the Asset Labeling contract. +Provides functionality to manage and retrieve asset labeling data.

    +
    writeAccount?: TransactionSignerAccount

    An optional variable representing an account that can authorize and sign transactions.

    +

    The writeAccount variable is either an instance of TransactionSignerAccount or is undefined. +It is used to execute and authenticate transaction operations.

    +
    writeClient: undefined | AssetLabelingClient

    Represents an instance of AssetLabelingClient or undefined.

    +

    The variable is used to write data to the Asset Labeling contract. +Ensure to properly check for undefined before attempting to invoke any methods or properties +associated with the AssetLabelingClient.

    +

    Accessors

    • get appId(): bigint

      Retrieves the application ID associated with the current client instance.

      +

      Returns bigint

    Methods

    • Adds a label to the specified entity with the given details.

      +

      Parameters

      • labelId: string

        The unique identifier for the label.

        +
      • name: string

        The name of the label.

        +
      • url: string

        The URL associated with the label.

        +

      Returns Promise<ClientResponse>

      Returns a promise that resolves to the result of the operation, potentially wrapped with error handling.

      +
    • Adds a label to a specified asset by associating the label ID with the asset ID.

      +

      Parameters

      • assetId: bigint

        The unique identifier of the asset to which the label will be added.

        +
      • labelId: string

        The unique identifier of the label to be associated with the asset.

        +

      Returns Promise<ClientResponse>

      A promise that resolves to the client response indicating the result of the operation.

      +
    • Adds a specified label to a set of asset IDs.

      +

      This function permits assigning a label to assets in batches to optimize performance. +If the list of asset IDs exceeds the maximum limit for a single method invocation, +the function segments the asset IDs into chunks and processes them asynchronously +with controlled concurrency.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs to be labeled.

        +
      • labelId: string

        The identifier of the label to be added to the assets.

        +

      Returns Promise<ClientResponse | ClientResponse[]>

      A promise that resolves to the response(s) from the operation. +If the operation involves chunked requests, the responses are returned as an array.

      +

      Error Throws an error if the write client is not available.

      +
    • Add a label to an operator. +This allows the operator address to add/remove operators to the label, as well as label assets with this label.

      +

      Parameters

      • operator: string

        Operator address

        +
      • labelId: string

        Label to add to operator

        +

      Returns Promise<ClientResponse>

    • Updates the label with the specified ID, changing its name and URL.

      +

      Parameters

      • labelId: string

        The unique identifier of the label to be changed.

        +
      • name: string

        The new name to assign to the label.

        +
      • url: string

        The new URL to associate with the label.

        +

      Returns Promise<ClientResponse>

      A promise that resolves with the response from the client after attempting to update the label.

      +

      If the name or url parameters are nullish (undefined or null).

      +
    • Return all asset IDs available on the contract

      +

      Returns Promise<bigint[]>

      Asset IDs

      +
    • Return all label IDs available on the contract

      +

      Returns Promise<string[]>

      Label IDs

      +
    • Return all operator addresses on the contract

      +

      Returns Promise<string[]>

      Operator addresses

      +
    • Fetches the labels associated with a specific asset.

      +

      Parameters

      • assetId: bigint

        The unique identifier of the asset for which labels need to be retrieved.

        +

      Returns Promise<string[]>

      A promise that resolves to an array of asset labels.

      +
    • Retrieves detailed information for a list of asset IDs as a map of asset ID to asset details.

      +

      If the number of asset IDs exceeds the maximum allowed per method call, the request is automatically divided +into smaller batches to handle the data in chunks.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which the detailed information is requested.

        +

      Returns Promise<Map<bigint, AssetFull>>

      A promise resolving to a map where each key is an asset ID and +the value is the corresponding detailed asset information.

      +

      Throws an error if the underlying request fails or an unexpected response format is encountered.

      +
    • Retrieves asset labels for a given list of asset IDs asynchronously.

      +

      This method performs a simulation of fetching labels for the specified assets by calling +the logAssetsLabels function through the readClient instance. If the input list of +asset IDs exceeds the predefined maximum (METHOD_MAX), it automatically splits the call +into batches for processing.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which labels are to be fetched.

        +

      Returns Promise<Map<bigint, string[]>>

      A promise that resolves to a map where each asset ID +corresponds to its associated array of labels.

      +

      If an error occurs during the simulation or log parsing process.

      +
    • Retrieves a map of asset micro details for the provided asset IDs.

      +

      This function handles querying for the details of multiple assets using their respective IDs. +It ensures batched processing if the number of asset IDs exceeds the maximum method capacity.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which the micro details are requested.

        +

      Returns Promise<Map<bigint, AssetMicro>>

      A promise that resolves to a map where each key is the asset ID, +and the value is the corresponding AssetMicro data.

      +

      Throws an error if the query or data parsing encounters an issue.

      +
    • Fetches the micro labels for a given list of asset IDs.

      +

      This method retrieves metadata for the specified assets by making +a request to the underlying data source. It supports batching +for optimizing requests, ensuring that if the asset list exceeds +a predefined maximum limit (METHOD_MAX), it splits the calls +into batches for processing.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which micro labels are to be fetched.

        +

      Returns Promise<Map<bigint, AssetMicroLabels>>

      A promise resolving to a Map where each key is an asset ID and the value is its corresponding micro label information.

      +

      Error Throws an error if the underlying client encounters issues processing the request.

      +
    • Retrieves a map of small asset details for the given list of asset IDs.

      +

      If the number of asset IDs exceeds the maximum allowable batch size (METHOD_MAX), the method splits +the request into batches by recursively calling itself with the appropriate subdivisions of the assetIds array.

      +

      The method interacts with a read client to simulate a data retrieval process and parses the resulting logs +to map each asset ID to its corresponding asset data.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which the small asset details should be retrieved.

        +

      Returns Promise<Map<bigint, AssetSmall>>

      A promise resolving to a map where the keys are asset IDs (bigint) +and the values are AssetSmall objects containing the corresponding small asset details.

      +

      Error Will propagate any errors encountered during the read client interaction or log parsing.

      +
    • Retrieves asset text details for a given list of asset IDs.

      +

      This function fetches the text descriptors for the specified asset IDs asynchronously. +If the number of asset IDs exceeds the defined method limit (METHOD_MAX), +the function breaks the request into smaller batches and calls itself recursively.

      +

      Parameters

      • assetIds: bigint[]

        An array of bigint values representing the asset IDs.

        +

      Returns Promise<Map<bigint, AssetText>>

      A promise that resolves to a Map, +where each key is an asset ID and the value is an AssetText object containing +the text descriptor for the respective asset.

      +

      Error Will throw errors if the internal simulation or parsing of logs fails.

      +
    • Fetches text labels for a given list of asset IDs.

      +

      The function retrieves the text labels associated with the provided asset IDs +by calling the backend services and simulating the results. If the number of +asset IDs exceeds the maximum allowed limit (METHOD_MAX), the function divides +the request into smaller batch calls.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset IDs for which text labels are to be fetched.

        +

      Returns Promise<Map<bigint, AssetTextLabels>>

      A promise that resolves to a map where the keys +are the asset IDs and the values are their associated text label objects.

      +

      Error Will throw errors if the simulation or parsing of logs fails during the process.

      +
    • Retrieves a mapping of asset IDs to their corresponding "AssetTiny" details. +This asynchronous function fetches details for the provided asset IDs in an optimized manner, +using batching if the number of asset IDs exceeds the allowed limit.

      +

      Parameters

      • assetIds: bigint[]

        An array of asset identifiers for which the details are requested.

        +

      Returns Promise<Map<bigint, AssetTiny>>

      A promise that resolves to a Map where each asset ID is mapped +to its corresponding "AssetTiny" details.

      +

      Error Will throw an error if there is an issue during the retrieval or processing of the asset details.

      +
    • Fetches tiny label details for the given list of asset IDs.

      +

      This method queries asset data in batches if the number of asset IDs exceeds a pre-defined limit. +It uses simulated calls to the read client for retrieving asset label information and parses +the logs to extract the results. The returned data is mapped to each asset ID.

      +

      Parameters

      • assetIds: bigint[]

        Array of asset IDs for which tiny labels are to be retrieved.

        +

      Returns Promise<Map<bigint, AssetTinyLabels>>

      A promise that resolves to a map, +where each key is an asset ID (bigint) and the value is an object containing the tiny label details for the asset.

      +

      Error Will throw an error if any issue occurs while simulating or parsing logs.

      +
    • Get a label descriptor for a label by its ID.

      +

      Parameters

      • labelId: string

        The label to look up by label ID

        +

      Returns Promise<null | LabelDescriptor>

      A label descriptor

      +
    • Get multiple label descriptors for labels, by their IDs.

      +

      Parameters

      • labelIds: string[]

        The label IDs to look up

        +

      Returns Promise<Map<string, LabelDescriptor>>

      Result wap with label IDs as keys and LabelDescriptors as values.

      +
    • Get all labels for an operator

      +

      Parameters

      • operator: string

        The operator address to query

        +

      Returns Promise<string[]>

      Labels that this account can operate on

      +
    • Return whether an asset has a specific label

      +

      Parameters

      • assetId: bigint

        Asset to look up, by asset ID

        +
      • label: string

        label to query for, by label ID

        +

      Returns Promise<boolean>

      True if an asset exists and has a label

      +
    • Returns whether a specific label ID exists or not

      +

      Parameters

      • labelId: string

        label ID

        +

      Returns Promise<boolean>

      Whether the label exists or not

      +
    • Returns whether or not an operator has access to a label

      +

      Parameters

      • operator: string

        The operator address to query

        +
      • label: string

        The label ID to look up

        +

      Returns Promise<boolean>

    • parse typed arc4 structs from logs

      +

      tupleParser is like generated clients' xyzArcStructFromTuple +abiDecodingMethod is a method name that returns the same avi return type as we are logging +e.g. if we are parsing log_label_descriptors() logs that logs LabelDescriptor, abiDecodingMethod can be get_label_descriptor that has ABI return LabelDescriptor

      +

      Type Parameters

      Parameters

      • logs: Uint8Array<ArrayBufferLike>[]
      • tupleParser: T
      • abiDecodingMethodName: string

      Returns ReturnType<T>[]

    • Removes a label specified by the labelId.

      +

      Parameters

      • labelId: string

        The unique identifier of the label to be removed.

        +

      Returns Promise<ClientResponse>

      A promise that resolves with the result of the removal operation +or rejects with an error if the operation fails.

      +
    • Removes a label from a specified asset.

      +

      Parameters

      • assetId: bigint

        The unique identifier of the asset from which the label should be removed.

        +
      • labelId: string

        The unique identifier of the label to be removed from the asset.

        +

      Returns Promise<ClientResponse>

      A promise that resolves to a ClientResponse indicating the result of the label removal operation.

      +
    • Removes an operator from a specified label.

      +

      Parameters

      • operator: string

        The address of the operator to be removed.

        +
      • labelId: string

        The ID of the label from which the operator is to be removed.

        +

      Returns Promise<ClientResponse>

      A promise that resolves to the client response indicating the result of the operation.

      +

    Copyright d13 2025

    diff --git a/projects/abel-sdk-v2/docs/AbelSDKOptions/index.html b/projects/abel-sdk-v2/docs/AbelSDKOptions/index.html new file mode 100644 index 0000000..8c6839f --- /dev/null +++ b/projects/abel-sdk-v2/docs/AbelSDKOptions/index.html @@ -0,0 +1,21 @@ +AbelSDKOptions | abel-sdk
    abel-sdk
      Preparing search index...

      Interface AbelSDKOptions

      Represents the configuration options for initializing the Abel SDK.

      +
      interface AbelSDKOptions {
          algorand: AlgorandClient;
          appId: bigint;
          concurrency?: number;
          readAccount?: string;
          writeAccount?: TransactionSignerAccount;
      }
      Index

      Properties

      algorand: AlgorandClient

      Represents an instance of the Algorand client used for interacting with the Algorand blockchain. +The client provides functionalities to connect to the network, submit transactions, +retrieve account information, and manage blockchain-related operations.

      +

      This variable is initialized with the required configuration and network details +to establish communication with the desired Algorand network.

      +
      appId: bigint

      Represents the unique identifier of an application. +This identifier is a BigInt value and is typically used for referencing +and distinguishing one application instance from another within the AVM.

      +
      concurrency?: number

      The maximum number of concurrent operations allowed. +This optional parameter defines the upper limit for tasks or processes +that can run simultaneously.

      +
      readAccount?: string

      The Algorand address for reading

      +
      writeAccount?: TransactionSignerAccount

      An optional property representing a signer account used for +writing or authorizing transactions.

      +

      Copyright d13 2025

      diff --git a/projects/abel-sdk-v2/docs/AnyFn/index.html b/projects/abel-sdk-v2/docs/AnyFn/index.html new file mode 100644 index 0000000..eb02c4e --- /dev/null +++ b/projects/abel-sdk-v2/docs/AnyFn/index.html @@ -0,0 +1 @@ +AnyFn | abel-sdk
      abel-sdk
        Preparing search index...

        Type Alias AnyFnProtected

        AnyFn: (...args: any[]) => any

        Type declaration

          • (...args: any[]): any
          • Parameters

            • ...args: any[]

            Returns any

        Copyright d13 2025

        diff --git a/projects/abel-sdk-v2/docs/AssetFull/index.html b/projects/abel-sdk-v2/docs/AssetFull/index.html new file mode 100644 index 0000000..d9a7ce7 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetFull/index.html @@ -0,0 +1,16 @@ +AssetFull | abel-sdk
        abel-sdk
          Preparing search index...

          Interface AssetFull

          interface AssetFull {
              clawback: string;
              creator: string;
              decimals: number;
              defaultFrozen: boolean;
              freeze: string;
              id: bigint;
              labels: string[];
              manager: string;
              metadataHash: Uint8Array;
              name: string;
              reserve: string;
              reserveBalance: bigint;
              total: bigint;
              unitName: string;
              url: string;
          }

          Hierarchy

          • AssetFull
            • AssetFull
          Index

          Properties

          clawback: string
          creator: string
          decimals: number
          defaultFrozen: boolean
          freeze: string
          id: bigint
          labels: string[]
          manager: string
          metadataHash: Uint8Array
          name: string
          reserve: string
          reserveBalance: bigint
          total: bigint
          unitName: string
          url: string

          Copyright d13 2025

          diff --git a/projects/abel-sdk-v2/docs/AssetLabelingClient/index.html b/projects/abel-sdk-v2/docs/AssetLabelingClient/index.html new file mode 100644 index 0000000..dfe110f --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetLabelingClient/index.html @@ -0,0 +1,996 @@ +AssetLabelingClient | abel-sdk
          abel-sdk
            Preparing search index...

            Class AssetLabelingClient

            A client to make calls to the AssetLabeling smart contract

            +
            Index

            Constructors

            Properties

            appClient: AppClient

            The underlying AppClient for when you want to have more flexibility

            +
            createTransaction: {
                addLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                addLabelToAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                addLabelToAssets: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [label: string, assets: number[] | bigint[]]
                            | { assets: number[] | bigint[]; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                addOperatorToLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                changeAdmin: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                            | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                changeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                clearState: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    },
                ) => Promise<Transaction>;
                delete: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            validityWindow?: number;
                        },
                    ) => Promise<Transaction>;
                };
                getAssetFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: bigint] | { asset: bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetsTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getAssetTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                getOperatorLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>]
                            | { operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                hasAssetLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [assetId: number | bigint, label: string]
                            | { assetId: number | bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                hasLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                hasOperatorLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                logAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                logLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [ids: string[]] | { ids: string[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                removeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                removeLabelFromAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                removeOperatorFromLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        methodCalls: Map<number, ABIMethod>;
                        signers: Map<number, TransactionSigner>;
                        transactions: Transaction[];
                    },
                >;
                update: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<Transaction>;
                };
            } = ...

            Create transactions for the current app

            +

            Type declaration

            • addLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label(string,string,string)void ABI method.

              +
            • addLabelToAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label_to_asset(string,asset)void ABI method.

              +
            • addLabelToAssets: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [label: string, assets: number[] | bigint[]]
                          | { assets: number[] | bigint[]; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label_to_assets(string,uint64[])void ABI method.

              +
            • addOperatorToLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_operator_to_label(account,string)void ABI method.

              +
            • changeAdmin: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                          | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the change_admin(account)void ABI method.

              +
            • changeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the change_label(string,string,string)void ABI method.

              +
            • clearState: (
                  params?: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args?: Uint8Array<ArrayBufferLike>[];
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  },
              ) => Promise<Transaction>

              Makes a clear_state call to an existing instance of the AssetLabeling smart contract.

              +
            • delete: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      },
                  ) => Promise<Transaction>;
              }

              Gets available delete methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    },
                ) => Promise<Transaction>

                Deletes an existing instance of the AssetLabeling smart contract using a bare call.

                +
            • getAssetFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_full(uint64)(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: bigint] | { asset: bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_labels(asset)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_micro(uint64)(string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_micro_labels(uint64)(string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_full(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_labels(uint64[])string[][] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_small(uint64)(string,string,uint8,uint64,bool,bool,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_micro(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_micro_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_small(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_text(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_text_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_text(uint64)(string,string,string) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_text_labels(uint64)(string,string,string,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny(uint64)(string,string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny_labels(uint64)(string,string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_label(string)(string,string,uint64,uint64) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getOperatorLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>]
                          | { operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_operator_labels(account)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasAssetLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [assetId: number | bigint, label: string]
                          | { assetId: number | bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_asset_label(uint64,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_label(string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasOperatorLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_operator_label(account,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the log_assets_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [ids: string[]] | { ids: string[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the log_labels(string[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • removeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_label(string)void ABI method.

              +
            • removeLabelFromAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_label_from_asset(string,asset)void ABI method.

              +
            • removeOperatorFromLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      methodCalls: Map<number, ABIMethod>;
                      signers: Map<number, TransactionSigner>;
                      transactions: Transaction[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_operator_from_label(account,string)void ABI method.

              +
            • update: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<Transaction>;
              }

              Gets available update methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        deletable?: boolean;
                        deployTimeParams?: TealTemplateParams;
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        updatable?: boolean;
                        validityWindow?: number;
                    },
                ) => Promise<Transaction>

                Updates an existing instance of the AssetLabeling smart contract using a bare call.

                +
            params: {
                addLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                addLabelToAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                addLabelToAssets: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [label: string, assets: number[] | bigint[]]
                            | { assets: number[] | bigint[]; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                addOperatorToLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                changeAdmin: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                            | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                changeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                clearState: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    },
                ) => AppCallParams;
                delete: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            validityWindow?: number;
                        },
                    ) => AppDeleteParams;
                };
                getAssetFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: bigint] | { asset: bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetsTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getAssetTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                getOperatorLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>]
                            | { operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                hasAssetLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [assetId: number | bigint, label: string]
                            | { assetId: number | bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                hasLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                hasOperatorLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                logAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                logLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [ids: string[]] | { ids: string[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                removeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                removeLabelFromAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                removeOperatorFromLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { onComplete?: NoOpOC },
                ) => Promise<AppCallMethodCall>;
                update: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<
                        {
                            accountReferences?: string[];
                            appId: bigint;
                            appReferences?: bigint[];
                            approvalProgram: string
                            | Uint8Array<ArrayBufferLike>;
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            clearStateProgram: string | Uint8Array<ArrayBufferLike>;
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            onComplete?: UpdateApplicationOC;
                            rekeyTo?: string;
                            sender: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            validityWindow?: number;
                        },
                    >;
                };
            } = ...

            Get parameters to create transactions for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.

            +

            Type declaration

            • addLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the add_label(string,string,string)void ABI method.

              +
            • addLabelToAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the add_label_to_asset(string,asset)void ABI method.

              +
            • addLabelToAssets: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [label: string, assets: number[] | bigint[]]
                          | { assets: number[] | bigint[]; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the add_label_to_assets(string,uint64[])void ABI method.

              +
            • addOperatorToLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the add_operator_to_label(account,string)void ABI method.

              +
            • changeAdmin: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                          | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the change_admin(account)void ABI method.

              +
            • changeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the change_label(string,string,string)void ABI method.

              +
            • clearState: (
                  params?: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args?: Uint8Array<ArrayBufferLike>[];
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  },
              ) => AppCallParams

              Makes a clear_state call to an existing instance of the AssetLabeling smart contract.

              +
            • delete: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      },
                  ) => AppDeleteParams;
              }

              Gets available delete methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    },
                ) => AppDeleteParams

                Deletes an existing instance of the AssetLabeling smart contract using a bare call.

                +
            • getAssetFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_full(uint64)(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: bigint] | { asset: bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_labels(asset)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_micro(uint64)(string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_micro_labels(uint64)(string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_full(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_labels(uint64[])string[][] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_small(uint64)(string,string,uint8,uint64,bool,bool,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_micro(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_micro_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_small(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_text(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_text_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_text(uint64)(string,string,string) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_text_labels(uint64)(string,string,string,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny(uint64)(string,string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny_labels(uint64)(string,string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_label(string)(string,string,uint64,uint64) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getOperatorLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>]
                          | { operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the get_operator_labels(account)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasAssetLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [assetId: number | bigint, label: string]
                          | { assetId: number | bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the has_asset_label(uint64,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the has_label(string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasOperatorLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the has_operator_label(account,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the log_assets_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [ids: string[]] | { ids: string[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the log_labels(string[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • removeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the remove_label(string)void ABI method.

              +
            • removeLabelFromAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the remove_label_from_asset(string,asset)void ABI method.

              +
            • removeOperatorFromLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & { onComplete?: NoOpOC },
              ) => Promise<AppCallMethodCall>

              Makes a call to the AssetLabeling smart contract using the remove_operator_from_label(account,string)void ABI method.

              +
            • update: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<
                      {
                          accountReferences?: string[];
                          appId: bigint;
                          appReferences?: bigint[];
                          approvalProgram: string
                          | Uint8Array<ArrayBufferLike>;
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          clearStateProgram: string | Uint8Array<ArrayBufferLike>;
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?: UpdateApplicationOC;
                          rekeyTo?: string;
                          sender: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      },
                  >;
              }

              Gets available update methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        deletable?: boolean;
                        deployTimeParams?: TealTemplateParams;
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        updatable?: boolean;
                        validityWindow?: number;
                    },
                ) => Promise<
                    {
                        accountReferences?: string[];
                        appId: bigint;
                        appReferences?: bigint[];
                        approvalProgram: string
                        | Uint8Array<ArrayBufferLike>;
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        clearStateProgram: string | Uint8Array<ArrayBufferLike>;
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        onComplete?: UpdateApplicationOC;
                        rekeyTo?: string;
                        sender: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    },
                >

                Updates an existing instance of the AssetLabeling smart contract using a bare call.

                +
            send: {
                addLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                addLabelToAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                addLabelToAssets: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [label: string, assets: number[] | bigint[]]
                            | { assets: number[] | bigint[]; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                addOperatorToLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                changeAdmin: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                            | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                changeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [id: string, name: string, url: string]
                            | { id: string; name: string; url: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                clearState: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        maxRoundsToWaitForConfirmation?: number;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        populateAppCallResources?: boolean;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        suppressLog?: boolean;
                        validityWindow?: number;
                    },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return?: ABIReturn;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                delete: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            maxRoundsToWaitForConfirmation?: number;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            populateAppCallResources?: boolean;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            suppressLog?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<
                        {
                            confirmation: PendingTransactionResponse;
                            confirmations: PendingTransactionResponse[];
                            groupId: string;
                            return?: ABIReturn;
                            returns?: ABIReturn[];
                            transaction: Transaction;
                            transactions: Transaction[];
                            txIds: string[];
                        },
                    >;
                };
                getAssetFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetFull;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: bigint] | { asset: bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | string[];
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetMicro;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetMicroLabels;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsFull: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | string[][];
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetSmall;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsMicro: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsMicroLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsSmall: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetsTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetText: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetText;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetTextLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetTextLabels;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetTiny: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetTiny;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getAssetTinyLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [asset: number | bigint] | { asset: number | bigint };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | AssetTinyLabels;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | LabelDescriptor;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                getOperatorLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>]
                            | { operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | string[];
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                hasAssetLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [assetId: number | bigint, label: string]
                            | { assetId: number | bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | bigint;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                hasLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | bigint;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                hasOperatorLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | bigint;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                logAssetsLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                logLabels: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [ids: string[]] | { ids: string[] };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                removeLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [id: string] | { id: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                removeLabelFromAsset: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args: [label: string, asset: bigint] | { asset: bigint; label: string };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                removeOperatorFromLabel: (
                    params: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args:
                            | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                            | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & SendParams & { onComplete?: NoOpOC },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return: undefined
                        | void;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >;
                update: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            maxRoundsToWaitForConfirmation?: number;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            populateAppCallResources?: boolean;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            suppressLog?: boolean;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<
                        {
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            confirmation: PendingTransactionResponse;
                            confirmations: PendingTransactionResponse[];
                            groupId: string;
                            return?: ABIReturn;
                            returns?: ABIReturn[];
                            transaction: Transaction;
                            transactions: Transaction[];
                            txIds: string[];
                        },
                    >;
                };
            } = ...

            Send calls to the current app

            +

            Type declaration

            • addLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label(string,string,string)void ABI method.

              +
            • addLabelToAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label_to_asset(string,asset)void ABI method.

              +
            • addLabelToAssets: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [label: string, assets: number[] | bigint[]]
                          | { assets: number[] | bigint[]; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_label_to_assets(string,uint64[])void ABI method.

              +
            • addOperatorToLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the add_operator_to_label(account,string)void ABI method.

              +
            • changeAdmin: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [newAdmin: string | Uint8Array<ArrayBufferLike>]
                          | { newAdmin: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the change_admin(account)void ABI method.

              +
            • changeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [id: string, name: string, url: string]
                          | { id: string; name: string; url: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the change_label(string,string,string)void ABI method.

              +
            • clearState: (
                  params?: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args?: Uint8Array<ArrayBufferLike>[];
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      maxRoundsToWaitForConfirmation?: number;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      populateAppCallResources?: boolean;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      suppressLog?: boolean;
                      validityWindow?: number;
                  },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return?: ABIReturn;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a clear_state call to an existing instance of the AssetLabeling smart contract.

              +
            • delete: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          maxRoundsToWaitForConfirmation?: number;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          populateAppCallResources?: boolean;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          suppressLog?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<
                      {
                          confirmation: PendingTransactionResponse;
                          confirmations: PendingTransactionResponse[];
                          groupId: string;
                          return?: ABIReturn;
                          returns?: ABIReturn[];
                          transaction: Transaction;
                          transactions: Transaction[];
                          txIds: string[];
                      },
                  >;
              }

              Gets available delete methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        maxRoundsToWaitForConfirmation?: number;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        populateAppCallResources?: boolean;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        suppressLog?: boolean;
                        validityWindow?: number;
                    },
                ) => Promise<
                    {
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return?: ABIReturn;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >

                Deletes an existing instance of the AssetLabeling smart contract using a bare call.

                +
            • getAssetFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetFull;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_full(uint64)(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: bigint] | { asset: bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | string[];
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_labels(asset)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetMicro;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_micro(uint64)(string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetMicroLabels;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_micro_labels(uint64)(string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsFull: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_full(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | string[][];
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_labels(uint64[])string[][] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetSmall;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_small(uint64)(string,string,uint8,uint64,bool,bool,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicro: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_micro(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsMicroLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_micro_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsSmall: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_small(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_text(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_text_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetsTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_assets_tiny_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetText: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetText;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_text(uint64)(string,string,string) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTextLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetTextLabels;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_text_labels(uint64)(string,string,string,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTiny: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetTiny;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny(uint64)(string,string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getAssetTinyLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [asset: number | bigint] | { asset: number | bigint };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | AssetTinyLabels;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_asset_tiny_labels(uint64)(string,string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | LabelDescriptor;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_label(string)(string,string,uint64,uint64) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • getOperatorLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>]
                          | { operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | string[];
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the get_operator_labels(account)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasAssetLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [assetId: number | bigint, label: string]
                          | { assetId: number | bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | bigint;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_asset_label(uint64,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | bigint;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_label(string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • hasOperatorLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | bigint;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the has_operator_label(account,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logAssetsLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the log_assets_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • logLabels: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [ids: string[]] | { ids: string[] };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the log_labels(string[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +
            • removeLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [id: string] | { id: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_label(string)void ABI method.

              +
            • removeLabelFromAsset: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args: [label: string, asset: bigint] | { asset: bigint; label: string };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_label_from_asset(string,asset)void ABI method.

              +
            • removeOperatorFromLabel: (
                  params: {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args:
                          | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                          | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & SendParams & { onComplete?: NoOpOC },
              ) => Promise<
                  {
                      confirmation: PendingTransactionResponse;
                      confirmations: PendingTransactionResponse[];
                      groupId: string;
                      return: undefined
                      | void;
                      returns?: ABIReturn[];
                      transaction: Transaction;
                      transactions: Transaction[];
                      txIds: string[];
                  },
              >

              Makes a call to the AssetLabeling smart contract using the remove_operator_from_label(account,string)void ABI method.

              +
            • update: {
                  bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          maxRoundsToWaitForConfirmation?: number;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          populateAppCallResources?: boolean;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          suppressLog?: boolean;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<
                      {
                          compiledApproval?: CompiledTeal;
                          compiledClear?: CompiledTeal;
                          confirmation: PendingTransactionResponse;
                          confirmations: PendingTransactionResponse[];
                          groupId: string;
                          return?: ABIReturn;
                          returns?: ABIReturn[];
                          transaction: Transaction;
                          transactions: Transaction[];
                          txIds: string[];
                      },
                  >;
              }

              Gets available update methods

              +
              • bare: (
                    params?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        deletable?: boolean;
                        deployTimeParams?: TealTemplateParams;
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        maxRoundsToWaitForConfirmation?: number;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        populateAppCallResources?: boolean;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        suppressLog?: boolean;
                        updatable?: boolean;
                        validityWindow?: number;
                    },
                ) => Promise<
                    {
                        compiledApproval?: CompiledTeal;
                        compiledClear?: CompiledTeal;
                        confirmation: PendingTransactionResponse;
                        confirmations: PendingTransactionResponse[];
                        groupId: string;
                        return?: ABIReturn;
                        returns?: ABIReturn[];
                        transaction: Transaction;
                        transactions: Transaction[];
                        txIds: string[];
                    },
                >

                Updates an existing instance of the AssetLabeling smart contract using a bare call.

                +
            state: {
                global: {
                    admin: () => Promise<BinaryState>;
                    getAll: () => Promise<Partial<{ admin: BinaryState }>>;
                };
            } = ...

            Methods to access state for the current AssetLabeling app

            +

            Type declaration

            • global: {
                  admin: () => Promise<BinaryState>;
                  getAll: () => Promise<Partial<{ admin: BinaryState }>>;
              }

              Methods to access global state for the current AssetLabeling app

              +
              • admin: () => Promise<BinaryState>

                Get the current value of the admin key in global state

                +
              • getAll: () => Promise<Partial<{ admin: BinaryState }>>

                Get all current keyed values from global state

                +

            Accessors

            Methods

            • Clone this app client with different params

              +

              Parameters

              • params: {
                    appId?: bigint;
                    appName?: string;
                    approvalSourceMap?: SourceMap;
                    clearSourceMap?: SourceMap;
                    defaultSender?: string;
                    defaultSigner?: TransactionSigner;
                }

                The params to use for the the cloned app client. Omit a param to keep the original value. Set a param to override the original value. Setting to undefined will clear the original value.

                +
                • OptionalappId?: bigint

                  The ID of the app instance this client should make calls against.

                  +
                • OptionalappName?: string

                  Optional override for the app name; used for on-chain metadata and lookups. +Defaults to the ARC-32/ARC-56 app spec name

                  +
                • OptionalapprovalSourceMap?: SourceMap

                  Optional source map for the approval program

                  +
                • OptionalclearSourceMap?: SourceMap

                  Optional source map for the clear state program

                  +
                • OptionaldefaultSender?: string

                  Optional address to use for the account to use as the default sender for calls.

                  +
                • OptionaldefaultSigner?: TransactionSigner

                  Optional signer to use as the default signer for default sender calls (if not specified then the signer will be resolved from AlgorandClient).

                  +

              Returns AssetLabelingClient

              A new app client with the altered params

              +
            • Checks for decode errors on the given return value and maps the return value to the return type for the given method

              +

              Type Parameters

              • TSignature extends
                    | "has_label"
                    | "get_label"
                    | "has_operator_label"
                    | "get_operator_labels"
                    | "has_asset_label"
                    | "get_asset_labels"
                    | "get_assets_labels"
                    | "get_asset_micro"
                    | "get_asset_micro_labels"
                    | "get_asset_tiny"
                    | "get_asset_tiny_labels"
                    | "get_asset_text"
                    | "get_asset_text_labels"
                    | "get_asset_small"
                    | "get_asset_full"
                    | "has_label(string)uint64"
                    | "get_label(string)(string,string,uint64,uint64)"
                    | "has_operator_label(account,string)uint64"
                    | "get_operator_labels(account)string[]"
                    | "has_asset_label(uint64,string)uint64"
                    | "get_asset_labels(asset)string[]"
                    | "get_assets_labels(uint64[])string[][]"
                    | "get_asset_micro(uint64)(string,uint8)"
                    | "get_asset_micro_labels(uint64)(string,uint8,string[])"
                    | "get_asset_tiny(uint64)(string,string,uint8)"
                    | "get_asset_tiny_labels(uint64)(string,string,uint8,string[])"
                    | "get_asset_text(uint64)(string,string,string)"
                    | "get_asset_text_labels(uint64)(string,string,string,string[])"
                    | "get_asset_small(uint64)(string,string,uint8,uint64,bool,bool,string[])"
                    | "get_asset_full(uint64)(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[])"

              Parameters

              • method: TSignature
              • returnValue: undefined | ABIReturn

              Returns undefined | MethodReturn<TSignature>

              The typed return value or undefined if there was no value

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_full(uint64)(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetFull>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_labels(asset)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: bigint] | { asset: bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: bigint] | { asset: bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<string[]>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_micro(uint64)(string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetMicro>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_micro_labels(uint64)(string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetMicroLabels>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_full(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_labels(uint64[])string[][] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<string[][]>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_small(uint64)(string,string,uint8,uint64,bool,bool,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetSmall>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_micro(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_micro_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_small(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_text(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_text_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_tiny(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_assets_tiny_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_text(uint64)(string,string,string) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetText>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_text_labels(uint64)(string,string,string,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetTextLabels>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_tiny(uint64)(string,string,uint8) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetTiny>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_asset_tiny_labels(uint64)(string,string,uint8,string[]) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [asset: number | bigint] | { asset: number | bigint };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [asset: number | bigint] | { asset: number | bigint }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<AssetTinyLabels>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_label(string)(string,string,uint64,uint64) ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [id: string] | { id: string };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [id: string] | { id: string }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<LabelDescriptor>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the get_operator_labels(account)string[] ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args:
                        | [operator: string | Uint8Array<ArrayBufferLike>]
                        | { operator: string | Uint8Array<ArrayBufferLike> };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args:
                      | [operator: string | Uint8Array<ArrayBufferLike>]
                      | { operator: string | Uint8Array<ArrayBufferLike> }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<string[]>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the has_asset_label(uint64,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args:
                        | [assetId: number | bigint, label: string]
                        | { assetId: number | bigint; label: string };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args:
                      | [assetId: number | bigint, label: string]
                      | { assetId: number | bigint; label: string }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<bigint>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the has_label(string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [id: string] | { id: string };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [id: string] | { id: string }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<bigint>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the has_operator_label(account,string)uint64 ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args:
                        | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                        | { label: string; operator: string | Uint8Array<ArrayBufferLike> };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args:
                      | [operator: string | Uint8Array<ArrayBufferLike>, label: string]
                      | { label: string; operator: string | Uint8Array<ArrayBufferLike> }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<bigint>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the log_assets_labels(uint64[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [assets: number[] | bigint[]] | { assets: number[] | bigint[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Makes a readonly (simulated) call to the AssetLabeling smart contract using the log_labels(string[])void ABI method.

              +

              This method is a readonly method; calling it with onComplete of NoOp will result in a simulated transaction rather than a real transaction.

              +

              Parameters

              • params: {
                    accountReferences?: string[];
                    appReferences?: bigint[];
                    args: [ids: string[]] | { ids: string[] };
                    assetReferences?: bigint[];
                    boxReferences?: (BoxIdentifier | BoxReference)[];
                    extraFee?: AlgoAmount;
                    firstValidRound?: bigint;
                    lastValidRound?: bigint;
                    lease?: string | Uint8Array<ArrayBufferLike>;
                    maxFee?: AlgoAmount;
                    note?: string | Uint8Array<ArrayBufferLike>;
                    rekeyTo?: string;
                    sender?: string;
                    signer?: TransactionSigner | TransactionSignerAccount;
                    staticFee?: AlgoAmount;
                    validityWindow?: number;
                }

                The params for the smart contract call

                +
                • OptionalaccountReferences?: string[]

                  Any account addresses to add to the accounts array.

                  +
                • OptionalappReferences?: bigint[]

                  The ID of any apps to load to the foreign apps array.

                  +
                • args: [ids: string[]] | { ids: string[] }

                  The args for the ABI method call, either as an ordered array or an object

                  +
                • OptionalassetReferences?: bigint[]

                  The ID of any assets to load to the foreign assets array.

                  +
                • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                  Any boxes to load to the boxes array.

                  +

                  Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                  +
                • OptionalextraFee?: AlgoAmount

                  The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                  +
                • OptionalfirstValidRound?: bigint

                  Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                  +

                  We recommend you only set this when you intentionally want this to be some time in the future.

                  +
                • OptionallastValidRound?: bigint

                  The last round this transaction is valid. It is recommended to use validityWindow instead.

                  +
                • Optionallease?: string | Uint8Array<ArrayBufferLike>

                  Prevent multiple transactions with the same lease being included within the validity window.

                  +

                  A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                  +
                • OptionalmaxFee?: AlgoAmount

                  Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                  +
                • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                  Note to attach to the transaction. Max of 1000 bytes.

                  +
                • OptionalrekeyTo?: string

                  Change the signing key of the sender to the given address.

                  +

                  Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                  +
                • Optionalsender?: string

                  The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                  +
                • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                  The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                  +
                • OptionalstaticFee?: AlgoAmount

                  The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                  +
                • OptionalvalidityWindow?: number

                  How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                  +

              Returns Promise<void>

              The call result

              +
            • Returns a new AssetLabelingClient client, resolving the app by creator address and name +using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).

              +

              Parameters

              • params: Omit<
                    {
                        algorand: AlgorandClientInterface;
                        appLookupCache?: AppLookup;
                        appName?: string;
                        approvalSourceMap?: SourceMap;
                        appSpec: string
                        | Arc56Contract
                        | AppSpec;
                        clearSourceMap?: SourceMap;
                        creatorAddress: string;
                        defaultSender?: string;
                        defaultSigner?: TransactionSigner;
                        ignoreCache?: boolean;
                    },
                    "appSpec",
                >

                The parameters to create the app client

                +

              Returns Promise<AssetLabelingClient>

            • Returns an AssetLabelingClient instance for the current network based on +pre-determined network-specific app IDs specified in the ARC-56 app spec.

              +

              If no IDs are in the app spec or the network isn't recognised, an error is thrown.

              +

              Parameters

              • params: Omit<
                    {
                        algorand: AlgorandClientInterface;
                        appName?: string;
                        approvalSourceMap?: SourceMap;
                        appSpec: string
                        | Arc56Contract
                        | AppSpec;
                        clearSourceMap?: SourceMap;
                        defaultSender?: string;
                        defaultSigner?: TransactionSigner;
                    },
                    "appSpec",
                >

                The parameters to create the app client

                +

              Returns Promise<AssetLabelingClient>

            Copyright d13 2025

            diff --git a/projects/abel-sdk-v2/docs/AssetLabelingFactory/index.html b/projects/abel-sdk-v2/docs/AssetLabelingFactory/index.html new file mode 100644 index 0000000..4e82d1e --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetLabelingFactory/index.html @@ -0,0 +1,123 @@ +AssetLabelingFactory | abel-sdk
            abel-sdk
              Preparing search index...

              Class AssetLabelingFactory

              A factory to create and deploy one or more instance of the AssetLabeling smart contract and to create one or more app clients to interact with those (or other) app instances

              +
              Index

              Constructors

              Properties

              appFactory: AppFactory

              The underlying AppFactory for when you want to have more flexibility

              +
              createTransaction: {
                  create: {
                      bare: (
                          params?: {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              deletable?: boolean;
                              deployTimeParams?: TealTemplateParams;
                              extraFee?: AlgoAmount;
                              extraProgramPages?: number;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              onComplete?: NoOpOC;
                              rekeyTo?: string;
                              schema?: {
                                  globalByteSlices: number;
                                  globalInts: number;
                                  localByteSlices: number;
                                  localInts: number;
                              };
                              sender?: string;
                              signer?: TransactionSigner
                              | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              updatable?: boolean;
                              validityWindow?: number;
                          },
                      ) => Promise<Transaction>;
                  };
              } = ...

              Create transactions for the current app

              +

              Type declaration

              • create: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            extraProgramPages?: number;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            onComplete?: NoOpOC;
                            rekeyTo?: string;
                            schema?: {
                                globalByteSlices: number;
                                globalInts: number;
                                localByteSlices: number;
                                localInts: number;
                            };
                            sender?: string;
                            signer?: TransactionSigner
                            | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<Transaction>;
                }

                Gets available create methods

                +
                • bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          extraProgramPages?: number;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?: NoOpOC;
                          rekeyTo?: string;
                          schema?: {
                              globalByteSlices: number;
                              globalInts: number;
                              localByteSlices: number;
                              localInts: number;
                          };
                          sender?: string;
                          signer?: TransactionSigner
                          | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<Transaction>

                  Creates a new instance of the AssetLabeling smart contract using a bare call.

                  +
              params: {
                  create: {
                      bare: (
                          params?: {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              deletable?: boolean;
                              deployTimeParams?: TealTemplateParams;
                              extraFee?: AlgoAmount;
                              extraProgramPages?: number;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              onComplete?: NoOpOC;
                              rekeyTo?: string;
                              schema?: {
                                  globalByteSlices: number;
                                  globalInts: number;
                                  localByteSlices: number;
                                  localInts: number;
                              };
                              sender?: string;
                              signer?: TransactionSigner
                              | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              updatable?: boolean;
                              validityWindow?: number;
                          },
                      ) => Promise<
                          {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              approvalProgram: Uint8Array;
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              clearStateProgram: Uint8Array;
                              compiledApproval?: CompiledTeal;
                              compiledClear?: CompiledTeal;
                              deletable?: boolean;
                              deployTimeParams: undefined | TealTemplateParams;
                              extraFee?: AlgoAmount;
                              extraProgramPages?: number;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              onComplete?:
                                  | NoOpOC
                                  | OptInOC
                                  | CloseOutOC
                                  | UpdateApplicationOC
                                  | DeleteApplicationOC;
                              rekeyTo?: string;
                              schema: {
                                  globalByteSlices: number;
                                  globalInts: number;
                                  localByteSlices: number;
                                  localInts: number;
                              };
                              sender?: string;
                              signer?: TransactionSigner
                              | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              updatable?: boolean;
                              validityWindow?: number;
                          } & {
                              onComplete: | NoOpOC
                              | OptInOC
                              | CloseOutOC
                              | UpdateApplicationOC
                              | DeleteApplicationOC;
                              sender: string;
                              signer: undefined
                              | TransactionSigner
                              | TransactionSignerAccount;
                          },
                      >;
                  };
                  deployDelete: {
                      bare: (
                          params?: {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              extraFee?: AlgoAmount;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              rekeyTo?: string;
                              sender?: string;
                              signer?: TransactionSigner | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              validityWindow?: number;
                          },
                      ) => {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      } & {
                          onComplete: DeleteApplicationOC;
                          sender: string;
                          signer: undefined
                          | TransactionSigner
                          | TransactionSignerAccount;
                      };
                  };
                  deployUpdate: {
                      bare: (
                          params?: {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              deletable?: boolean;
                              deployTimeParams?: TealTemplateParams;
                              extraFee?: AlgoAmount;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              rekeyTo?: string;
                              sender?: string;
                              signer?: TransactionSigner | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              updatable?: boolean;
                              validityWindow?: number;
                          },
                      ) => {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      } & {
                          onComplete: UpdateApplicationOC;
                          sender: string;
                          signer: undefined
                          | TransactionSigner
                          | TransactionSignerAccount;
                      };
                  };
              } = ...

              Get parameters to create transactions (create and deploy related calls) for the current app. A good mental model for this is that these parameters represent a deferred transaction creation.

              +

              Type declaration

              • create: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            extraProgramPages?: number;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            onComplete?: NoOpOC;
                            rekeyTo?: string;
                            schema?: {
                                globalByteSlices: number;
                                globalInts: number;
                                localByteSlices: number;
                                localInts: number;
                            };
                            sender?: string;
                            signer?: TransactionSigner
                            | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<
                        {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            approvalProgram: Uint8Array;
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            clearStateProgram: Uint8Array;
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            deletable?: boolean;
                            deployTimeParams: undefined | TealTemplateParams;
                            extraFee?: AlgoAmount;
                            extraProgramPages?: number;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            onComplete?:
                                | NoOpOC
                                | OptInOC
                                | CloseOutOC
                                | UpdateApplicationOC
                                | DeleteApplicationOC;
                            rekeyTo?: string;
                            schema: {
                                globalByteSlices: number;
                                globalInts: number;
                                localByteSlices: number;
                                localInts: number;
                            };
                            sender?: string;
                            signer?: TransactionSigner
                            | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        } & {
                            onComplete: | NoOpOC
                            | OptInOC
                            | CloseOutOC
                            | UpdateApplicationOC
                            | DeleteApplicationOC;
                            sender: string;
                            signer: undefined
                            | TransactionSigner
                            | TransactionSignerAccount;
                        },
                    >;
                }

                Gets available create methods

                +
                • bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          extraProgramPages?: number;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?: NoOpOC;
                          rekeyTo?: string;
                          schema?: {
                              globalByteSlices: number;
                              globalInts: number;
                              localByteSlices: number;
                              localInts: number;
                          };
                          sender?: string;
                          signer?: TransactionSigner
                          | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<
                      {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          approvalProgram: Uint8Array;
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          clearStateProgram: Uint8Array;
                          compiledApproval?: CompiledTeal;
                          compiledClear?: CompiledTeal;
                          deletable?: boolean;
                          deployTimeParams: undefined | TealTemplateParams;
                          extraFee?: AlgoAmount;
                          extraProgramPages?: number;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?:
                              | NoOpOC
                              | OptInOC
                              | CloseOutOC
                              | UpdateApplicationOC
                              | DeleteApplicationOC;
                          rekeyTo?: string;
                          schema: {
                              globalByteSlices: number;
                              globalInts: number;
                              localByteSlices: number;
                              localInts: number;
                          };
                          sender?: string;
                          signer?: TransactionSigner
                          | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      } & {
                          onComplete: | NoOpOC
                          | OptInOC
                          | CloseOutOC
                          | UpdateApplicationOC
                          | DeleteApplicationOC;
                          sender: string;
                          signer: undefined
                          | TransactionSigner
                          | TransactionSignerAccount;
                      },
                  >

                  Creates a new instance of the AssetLabeling smart contract using a bare call.

                  +
              • deployDelete: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            validityWindow?: number;
                        },
                    ) => {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & {
                        onComplete: DeleteApplicationOC;
                        sender: string;
                        signer: undefined
                        | TransactionSigner
                        | TransactionSignerAccount;
                    };
                }

                Gets available deployDelete methods

                +
                • bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      },
                  ) => {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args?: Uint8Array<ArrayBufferLike>[];
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & {
                      onComplete: DeleteApplicationOC;
                      sender: string;
                      signer: undefined
                      | TransactionSigner
                      | TransactionSignerAccount;
                  }

                  Deletes an existing instance of the AssetLabeling smart contract using a bare call.

                  +
              • deployUpdate: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            rekeyTo?: string;
                            sender?: string;
                            signer?: TransactionSigner | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & {
                        onComplete: UpdateApplicationOC;
                        sender: string;
                        signer: undefined
                        | TransactionSigner
                        | TransactionSignerAccount;
                    };
                }

                Gets available deployUpdate methods

                +
                • bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => {
                      accountReferences?: string[];
                      appReferences?: bigint[];
                      args?: Uint8Array<ArrayBufferLike>[];
                      assetReferences?: bigint[];
                      boxReferences?: (BoxIdentifier | BoxReference)[];
                      extraFee?: AlgoAmount;
                      firstValidRound?: bigint;
                      lastValidRound?: bigint;
                      lease?: string | Uint8Array<ArrayBufferLike>;
                      maxFee?: AlgoAmount;
                      note?: string | Uint8Array<ArrayBufferLike>;
                      rekeyTo?: string;
                      sender?: string;
                      signer?: TransactionSigner | TransactionSignerAccount;
                      staticFee?: AlgoAmount;
                      validityWindow?: number;
                  } & {
                      onComplete: UpdateApplicationOC;
                      sender: string;
                      signer: undefined
                      | TransactionSigner
                      | TransactionSignerAccount;
                  }

                  Updates an existing instance of the AssetLabeling smart contract using a bare call.

                  +
              send: {
                  create: {
                      bare: (
                          params?: {
                              accountReferences?: string[];
                              appReferences?: bigint[];
                              args?: Uint8Array<ArrayBufferLike>[];
                              assetReferences?: bigint[];
                              boxReferences?: (BoxIdentifier | BoxReference)[];
                              deletable?: boolean;
                              deployTimeParams?: TealTemplateParams;
                              extraFee?: AlgoAmount;
                              extraProgramPages?: number;
                              firstValidRound?: bigint;
                              lastValidRound?: bigint;
                              lease?: string | Uint8Array<ArrayBufferLike>;
                              maxFee?: AlgoAmount;
                              maxRoundsToWaitForConfirmation?: number;
                              note?: string | Uint8Array<ArrayBufferLike>;
                              onComplete?: NoOpOC;
                              populateAppCallResources?: boolean;
                              rekeyTo?: string;
                              schema?: {
                                  globalByteSlices: number;
                                  globalInts: number;
                                  localByteSlices: number;
                                  localInts: number;
                              };
                              sender?: string;
                              signer?: TransactionSigner
                              | TransactionSignerAccount;
                              staticFee?: AlgoAmount;
                              suppressLog?: boolean;
                              updatable?: boolean;
                              validityWindow?: number;
                          },
                      ) => Promise<
                          {
                              appClient: AssetLabelingClient;
                              result: {
                                  appAddress: string;
                                  appId: bigint;
                                  compiledApproval?: CompiledTeal;
                                  compiledClear?: CompiledTeal;
                                  confirmation: PendingTransactionResponse;
                                  confirmations: PendingTransactionResponse[];
                                  groupId: string;
                                  return: undefined;
                                  returns?: ABIReturn[];
                                  transaction: Transaction;
                                  transactions: Transaction[];
                                  txIds: string[];
                              };
                          },
                      >;
                  };
              } = ...

              Send calls to the current app

              +

              Type declaration

              • create: {
                    bare: (
                        params?: {
                            accountReferences?: string[];
                            appReferences?: bigint[];
                            args?: Uint8Array<ArrayBufferLike>[];
                            assetReferences?: bigint[];
                            boxReferences?: (BoxIdentifier | BoxReference)[];
                            deletable?: boolean;
                            deployTimeParams?: TealTemplateParams;
                            extraFee?: AlgoAmount;
                            extraProgramPages?: number;
                            firstValidRound?: bigint;
                            lastValidRound?: bigint;
                            lease?: string | Uint8Array<ArrayBufferLike>;
                            maxFee?: AlgoAmount;
                            maxRoundsToWaitForConfirmation?: number;
                            note?: string | Uint8Array<ArrayBufferLike>;
                            onComplete?: NoOpOC;
                            populateAppCallResources?: boolean;
                            rekeyTo?: string;
                            schema?: {
                                globalByteSlices: number;
                                globalInts: number;
                                localByteSlices: number;
                                localInts: number;
                            };
                            sender?: string;
                            signer?: TransactionSigner
                            | TransactionSignerAccount;
                            staticFee?: AlgoAmount;
                            suppressLog?: boolean;
                            updatable?: boolean;
                            validityWindow?: number;
                        },
                    ) => Promise<
                        {
                            appClient: AssetLabelingClient;
                            result: {
                                appAddress: string;
                                appId: bigint;
                                compiledApproval?: CompiledTeal;
                                compiledClear?: CompiledTeal;
                                confirmation: PendingTransactionResponse;
                                confirmations: PendingTransactionResponse[];
                                groupId: string;
                                return: undefined;
                                returns?: ABIReturn[];
                                transaction: Transaction;
                                transactions: Transaction[];
                                txIds: string[];
                            };
                        },
                    >;
                }

                Gets available create methods

                +
                • bare: (
                      params?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          deletable?: boolean;
                          deployTimeParams?: TealTemplateParams;
                          extraFee?: AlgoAmount;
                          extraProgramPages?: number;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          maxRoundsToWaitForConfirmation?: number;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?: NoOpOC;
                          populateAppCallResources?: boolean;
                          rekeyTo?: string;
                          schema?: {
                              globalByteSlices: number;
                              globalInts: number;
                              localByteSlices: number;
                              localInts: number;
                          };
                          sender?: string;
                          signer?: TransactionSigner
                          | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          suppressLog?: boolean;
                          updatable?: boolean;
                          validityWindow?: number;
                      },
                  ) => Promise<
                      {
                          appClient: AssetLabelingClient;
                          result: {
                              appAddress: string;
                              appId: bigint;
                              compiledApproval?: CompiledTeal;
                              compiledClear?: CompiledTeal;
                              confirmation: PendingTransactionResponse;
                              confirmations: PendingTransactionResponse[];
                              groupId: string;
                              return: undefined;
                              returns?: ABIReturn[];
                              transaction: Transaction;
                              transactions: Transaction[];
                              txIds: string[];
                          };
                      },
                  >

                  Creates a new instance of the AssetLabeling smart contract using a bare call.

                  +

              Accessors

              Methods

              • Idempotently deploys the AssetLabeling smart contract.

                +

                Parameters

                • params: {
                      appName?: string;
                      createParams?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          extraProgramPages?: number;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          method?: undefined;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          onComplete?: NoOpOC;
                          rekeyTo?: string;
                          schema?: {
                              globalByteSlices: number;
                              globalInts: number;
                              localByteSlices: number;
                              localInts: number;
                          };
                          sender?: string;
                          signer?: TransactionSigner
                          | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      };
                      deletable?: boolean;
                      deleteParams?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      } & { method?: undefined };
                      deployTimeParams?: TealTemplateParams;
                      existingDeployments?: AppLookup;
                      ignoreCache?: boolean;
                      maxRoundsToWaitForConfirmation?: number;
                      onSchemaBreak?: "replace" | "append" | "fail" | OnSchemaBreak;
                      onUpdate?: "replace" | "append" | "fail" | "update" | OnUpdate;
                      populateAppCallResources?: boolean;
                      suppressLog?: boolean;
                      updatable?: boolean;
                      updateParams?: {
                          accountReferences?: string[];
                          appReferences?: bigint[];
                          args?: Uint8Array<ArrayBufferLike>[];
                          assetReferences?: bigint[];
                          boxReferences?: (BoxIdentifier | BoxReference)[];
                          extraFee?: AlgoAmount;
                          firstValidRound?: bigint;
                          lastValidRound?: bigint;
                          lease?: string | Uint8Array<ArrayBufferLike>;
                          maxFee?: AlgoAmount;
                          note?: string | Uint8Array<ArrayBufferLike>;
                          rekeyTo?: string;
                          sender?: string;
                          signer?: TransactionSigner | TransactionSignerAccount;
                          staticFee?: AlgoAmount;
                          validityWindow?: number;
                      } & { method?: undefined };
                  } = {}

                  The arguments for the contract calls and any additional parameters for the call

                  +
                  • OptionalappName?: string

                    Override the app name for this deployment

                    +
                  • OptionalcreateParams?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        extraProgramPages?: number;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        method?: undefined;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        onComplete?: NoOpOC;
                        rekeyTo?: string;
                        schema?: {
                            globalByteSlices: number;
                            globalInts: number;
                            localByteSlices: number;
                            localInts: number;
                        };
                        sender?: string;
                        signer?: TransactionSigner
                        | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    }

                    Create transaction parameters to use if a create needs to be issued as part of deployment; use method to define ABI call (if available) or leave out for a bare call (if available)

                    +
                    • OptionalaccountReferences?: string[]

                      Any account addresses to add to the accounts array.

                      +
                    • OptionalappReferences?: bigint[]

                      The ID of any apps to load to the foreign apps array.

                      +
                    • Optionalargs?: Uint8Array<ArrayBufferLike>[]
                    • OptionalassetReferences?: bigint[]

                      The ID of any assets to load to the foreign assets array.

                      +
                    • OptionalboxReferences?: (BoxIdentifier | BoxReference)[]

                      Any boxes to load to the boxes array.

                      +

                      Either the name identifier (which will be set against app ID of 0 i.e. +the current app), or a box identifier with the name identifier and app ID.

                      +
                    • OptionalextraFee?: AlgoAmount

                      The fee to pay IN ADDITION to the suggested fee. Useful for covering inner transaction fees.

                      +
                    • OptionalextraProgramPages?: number

                      Number of extra pages required for the programs. +Defaults to the number needed for the programs in this call if not specified. +This is immutable once the app is created.

                      +
                    • OptionalfirstValidRound?: bigint

                      Set the first round this transaction is valid. +If left undefined, the value from algod will be used.

                      +

                      We recommend you only set this when you intentionally want this to be some time in the future.

                      +
                    • OptionallastValidRound?: bigint

                      The last round this transaction is valid. It is recommended to use validityWindow instead.

                      +
                    • Optionallease?: string | Uint8Array<ArrayBufferLike>

                      Prevent multiple transactions with the same lease being included within the validity window.

                      +

                      A lease +enforces a mutually exclusive transaction (useful to prevent double-posting and other scenarios).

                      +
                    • OptionalmaxFee?: AlgoAmount

                      Throw an error if the fee for the transaction is more than this amount; prevents overspending on fees during high congestion periods.

                      +
                    • Optionalmethod?: undefined
                    • Optionalnote?: string | Uint8Array<ArrayBufferLike>

                      Note to attach to the transaction. Max of 1000 bytes.

                      +
                    • OptionalonComplete?: NoOpOC
                    • OptionalrekeyTo?: string

                      Change the signing key of the sender to the given address.

                      +

                      Warning: Please be careful with this parameter and be sure to read the official rekey guidance.

                      +
                    • Optionalschema?: {
                          globalByteSlices: number;
                          globalInts: number;
                          localByteSlices: number;
                          localInts: number;
                      }

                      The state schema for the app. This is immutable once the app is created. By default uses the ARC32/ARC-56 spec.

                      +
                      • globalByteSlices: number

                        The number of byte slices saved in global state.

                        +
                      • globalInts: number

                        The number of integers saved in global state.

                        +
                      • localByteSlices: number

                        The number of byte slices saved in local state.

                        +
                      • localInts: number

                        The number of integers saved in local state.

                        +
                    • Optionalsender?: string

                      The address of the account sending the transaction, if undefined then the app client's defaultSender is used.

                      +
                    • Optionalsigner?: TransactionSigner | TransactionSignerAccount

                      The function used to sign transaction(s); if not specified then +an attempt will be made to find a registered signer for the +given sender or use a default signer (if configured).

                      +
                    • OptionalstaticFee?: AlgoAmount

                      The static transaction fee. In most cases you want to use extraFee unless setting the fee to 0 to be covered by another transaction.

                      +
                    • OptionalvalidityWindow?: number

                      How many rounds the transaction should be valid for, if not specified then the registered default validity window will be used.

                      +
                  • Optionaldeletable?: boolean

                    Whether or not the contract should have deploy-time permanence control set. +undefined = use AppFactory constructor value if set or base it on the app spec.

                    +
                  • OptionaldeleteParams?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { method?: undefined }

                    Delete transaction parameters to use if a create needs to be issued as part of deployment; use method to define ABI call (if available) or leave out for a bare call (if available)

                    +
                  • OptionaldeployTimeParams?: TealTemplateParams

                    Any deploy-time parameters to replace in the TEAL code before compiling it (used if teal code is passed in as a string)

                    +
                  • OptionalexistingDeployments?: AppLookup

                    Optional cached value of the existing apps for the given creator; use this to avoid an indexer lookup

                    +
                  • OptionalignoreCache?: boolean

                    Whether or not to ignore the app metadata cache and force a lookup, default: use the cache *

                    +
                  • OptionalmaxRoundsToWaitForConfirmation?: number

                    The number of rounds to wait for confirmation. By default until the latest lastValid has past.

                    +
                  • OptionalonSchemaBreak?: "replace" | "append" | "fail" | OnSchemaBreak

                    What action to perform if a schema break (storage schema or extra pages change) is detected:

                    +
                      +
                    • fail - Fail the deployment (throw an error, default)
                    • +
                    • replace - Delete the old app and create a new one
                    • +
                    • append - Deploy a new app and leave the old one as is
                    • +
                    +
                  • OptionalonUpdate?: "replace" | "append" | "fail" | "update" | OnUpdate

                    What action to perform if a TEAL code update is detected:

                    +
                      +
                    • fail - Fail the deployment (throw an error, default)
                    • +
                    • update - Update the app with the new TEAL code
                    • +
                    • replace - Delete the old app and create a new one
                    • +
                    • append - Deploy a new app and leave the old one as is
                    • +
                    +
                  • OptionalpopulateAppCallResources?: boolean

                    Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to Config.populateAppCallResources.

                    +
                  • OptionalsuppressLog?: boolean

                    Whether to suppress log messages from transaction send, default: do not suppress.

                    +
                  • Optionalupdatable?: boolean

                    Whether or not the contract should have deploy-time immutability control set. +undefined = use AppFactory constructor value if set or base it on the app spec.

                    +
                  • OptionalupdateParams?: {
                        accountReferences?: string[];
                        appReferences?: bigint[];
                        args?: Uint8Array<ArrayBufferLike>[];
                        assetReferences?: bigint[];
                        boxReferences?: (BoxIdentifier | BoxReference)[];
                        extraFee?: AlgoAmount;
                        firstValidRound?: bigint;
                        lastValidRound?: bigint;
                        lease?: string | Uint8Array<ArrayBufferLike>;
                        maxFee?: AlgoAmount;
                        note?: string | Uint8Array<ArrayBufferLike>;
                        rekeyTo?: string;
                        sender?: string;
                        signer?: TransactionSigner | TransactionSignerAccount;
                        staticFee?: AlgoAmount;
                        validityWindow?: number;
                    } & { method?: undefined }

                    Update transaction parameters to use if a create needs to be issued as part of deployment; use method to define ABI call (if available) or leave out for a bare call (if available)

                    +

                Returns Promise<
                    {
                        appClient: AssetLabelingClient;
                        result: | {
                            appAddress: string;
                            appId: bigint;
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            confirmation: PendingTransactionResponse;
                            confirmations: PendingTransactionResponse[];
                            createdMetadata: AppDeployMetadata;
                            createdRound: bigint;
                            deletable?: boolean;
                            deleted: boolean;
                            deleteReturn: undefined
                            | ABIValue
                            | ABIStruct;
                            groupId: string;
                            name: string;
                            operationPerformed: "create";
                            return: undefined | ABIValue | ABIStruct;
                            returns?: ABIReturn[];
                            transaction: Transaction;
                            transactions: Transaction[];
                            txIds: string[];
                            updatable?: boolean;
                            updatedRound: bigint;
                            version: string;
                        }
                        | {
                            appAddress: string;
                            appId: bigint;
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            confirmation: PendingTransactionResponse;
                            confirmations: PendingTransactionResponse[];
                            createdMetadata: AppDeployMetadata;
                            createdRound: bigint;
                            deletable?: boolean;
                            deleted: boolean;
                            deleteReturn: undefined
                            | ABIValue
                            | ABIStruct;
                            groupId: string;
                            name: string;
                            operationPerformed: "update";
                            return: undefined | ABIValue | ABIStruct;
                            returns?: ABIReturn[];
                            transaction: Transaction;
                            transactions: Transaction[];
                            txIds: string[];
                            updatable?: boolean;
                            updatedRound: bigint;
                            version: string;
                        }
                        | {
                            appAddress: string;
                            appId: bigint;
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            confirmation: PendingTransactionResponse;
                            confirmations: PendingTransactionResponse[];
                            createdMetadata: AppDeployMetadata;
                            createdRound: bigint;
                            deletable?: boolean;
                            deleted: boolean;
                            deleteResult: ConfirmedTransactionResult;
                            deleteReturn: undefined
                            | ABIValue
                            | ABIStruct;
                            groupId: string;
                            name: string;
                            operationPerformed: "replace";
                            return: undefined | ABIValue | ABIStruct;
                            returns?: ABIReturn[];
                            transaction: Transaction;
                            transactions: Transaction[];
                            txIds: string[];
                            updatable?: boolean;
                            updatedRound: bigint;
                            version: string;
                        }
                        | {
                            appAddress: string;
                            appId: bigint;
                            compiledApproval?: CompiledTeal;
                            compiledClear?: CompiledTeal;
                            createdMetadata: AppDeployMetadata;
                            createdRound: bigint;
                            deletable?: boolean;
                            deleted: boolean;
                            deleteReturn: undefined
                            | ABIValue
                            | ABIStruct;
                            name: string;
                            operationPerformed: "nothing";
                            return: undefined | ABIValue | ABIStruct;
                            updatable?: boolean;
                            updatedRound: bigint;
                            version: string;
                        };
                    },
                >

                The deployment result

                +
              • Returns a new AppClient client, resolving the app by creator address and name +using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).

                +

                Automatically populates appName, defaultSender and source maps from the factory +if not specified in the params.

                +

                Parameters

                • params: {
                      appLookupCache?: AppLookup;
                      appName?: string;
                      approvalSourceMap?: SourceMap;
                      clearSourceMap?: SourceMap;
                      creatorAddress: string;
                      defaultSender?: string;
                      defaultSigner?: TransactionSigner;
                      ignoreCache?: boolean;
                  }

                  The parameters to create the app client

                  +
                  • OptionalappLookupCache?: AppLookup

                    An optional cached app lookup that matches a name to on-chain details; +either this is needed or indexer is required to be passed in to this ClientManager on construction.

                    +
                  • OptionalappName?: string

                    Optional override for the app name; used for on-chain metadata and lookups. +Defaults to the ARC-32/ARC-56 app spec name

                    +
                  • OptionalapprovalSourceMap?: SourceMap

                    Optional source map for the approval program

                    +
                  • OptionalclearSourceMap?: SourceMap

                    Optional source map for the clear state program

                    +
                  • creatorAddress: string

                    The address of the creator account for the app

                    +
                  • OptionaldefaultSender?: string

                    Optional address to use for the account to use as the default sender for calls.

                    +
                  • OptionaldefaultSigner?: TransactionSigner

                    Optional signer to use as the default signer for default sender calls (if not specified then the signer will be resolved from AlgorandClient).

                    +
                  • OptionalignoreCache?: boolean

                    Whether or not to ignore the AppDeployer lookup cache and force an on-chain lookup, default: use any cached value

                    +

                Returns Promise<AssetLabelingClient>

                The AppClient

                +
              • Returns a new AppClient client for an app instance of the given ID.

                +

                Automatically populates appName, defaultSender and source maps from the factory +if not specified in the params.

                +

                Parameters

                • params: {
                      appId: bigint;
                      appName?: string;
                      approvalSourceMap?: SourceMap;
                      clearSourceMap?: SourceMap;
                      defaultSender?: string;
                      defaultSigner?: TransactionSigner;
                  }

                  The parameters to create the app client

                  +
                  • appId: bigint

                    The ID of the app instance this client should make calls against.

                    +
                  • OptionalappName?: string

                    Optional override for the app name; used for on-chain metadata and lookups. +Defaults to the ARC-32/ARC-56 app spec name

                    +
                  • OptionalapprovalSourceMap?: SourceMap

                    Optional source map for the approval program

                    +
                  • OptionalclearSourceMap?: SourceMap

                    Optional source map for the clear state program

                    +
                  • OptionaldefaultSender?: string

                    Optional address to use for the account to use as the default sender for calls.

                    +
                  • OptionaldefaultSigner?: TransactionSigner

                    Optional signer to use as the default signer for default sender calls (if not specified then the signer will be resolved from AlgorandClient).

                    +

                Returns AssetLabelingClient

                The AppClient

                +

              Copyright d13 2025

              diff --git a/projects/abel-sdk-v2/docs/AssetMicro/index.html b/projects/abel-sdk-v2/docs/AssetMicro/index.html new file mode 100644 index 0000000..6da0807 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetMicro/index.html @@ -0,0 +1,4 @@ +AssetMicro | abel-sdk
              abel-sdk
                Preparing search index...

                Interface AssetMicro

                interface AssetMicro {
                    decimals: number;
                    id: bigint;
                    unitName: string;
                }

                Hierarchy

                • AssetMicro
                  • AssetMicro
                Index

                Properties

                Properties

                decimals: number
                id: bigint
                unitName: string

                Copyright d13 2025

                diff --git a/projects/abel-sdk-v2/docs/AssetMicroLabels/index.html b/projects/abel-sdk-v2/docs/AssetMicroLabels/index.html new file mode 100644 index 0000000..6d48a3a --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetMicroLabels/index.html @@ -0,0 +1,5 @@ +AssetMicroLabels | abel-sdk
                abel-sdk
                  Preparing search index...

                  Interface AssetMicroLabels

                  interface AssetMicroLabels {
                      decimals: number;
                      id: bigint;
                      labels: string[];
                      unitName: string;
                  }

                  Hierarchy

                  • AssetMicroLabels
                    • AssetMicroLabels
                  Index

                  Properties

                  Properties

                  decimals: number
                  id: bigint
                  labels: string[]
                  unitName: string

                  Copyright d13 2025

                  diff --git a/projects/abel-sdk-v2/docs/AssetSmall/index.html b/projects/abel-sdk-v2/docs/AssetSmall/index.html new file mode 100644 index 0000000..56c7bc5 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetSmall/index.html @@ -0,0 +1,9 @@ +AssetSmall | abel-sdk
                  abel-sdk
                    Preparing search index...

                    Interface AssetSmall

                    interface AssetSmall {
                        decimals: number;
                        hasClawback: boolean;
                        hasFreeze: boolean;
                        id: bigint;
                        labels: string[];
                        name: string;
                        total: bigint;
                        unitName: string;
                    }

                    Hierarchy

                    • AssetSmall
                      • AssetSmall
                    Index

                    Properties

                    decimals: number
                    hasClawback: boolean
                    hasFreeze: boolean
                    id: bigint
                    labels: string[]
                    name: string
                    total: bigint
                    unitName: string

                    Copyright d13 2025

                    diff --git a/projects/abel-sdk-v2/docs/AssetText/index.html b/projects/abel-sdk-v2/docs/AssetText/index.html new file mode 100644 index 0000000..e3ad464 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetText/index.html @@ -0,0 +1,5 @@ +AssetText | abel-sdk
                    abel-sdk
                      Preparing search index...

                      Interface AssetText

                      interface AssetText {
                          id: bigint;
                          name: string;
                          unitName: string;
                          url: string;
                      }

                      Hierarchy

                      • AssetText
                        • AssetText
                      Index

                      Properties

                      Properties

                      id: bigint
                      name: string
                      unitName: string
                      url: string

                      Copyright d13 2025

                      diff --git a/projects/abel-sdk-v2/docs/AssetTextLabels/index.html b/projects/abel-sdk-v2/docs/AssetTextLabels/index.html new file mode 100644 index 0000000..5f9f3c9 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetTextLabels/index.html @@ -0,0 +1,6 @@ +AssetTextLabels | abel-sdk
                      abel-sdk
                        Preparing search index...

                        Interface AssetTextLabels

                        interface AssetTextLabels {
                            id: bigint;
                            labels: string[];
                            name: string;
                            unitName: string;
                            url: string;
                        }

                        Hierarchy

                        • AssetTextLabels
                          • AssetTextLabels
                        Index

                        Properties

                        Properties

                        id: bigint
                        labels: string[]
                        name: string
                        unitName: string
                        url: string

                        Copyright d13 2025

                        diff --git a/projects/abel-sdk-v2/docs/AssetTiny/index.html b/projects/abel-sdk-v2/docs/AssetTiny/index.html new file mode 100644 index 0000000..bca111b --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetTiny/index.html @@ -0,0 +1,5 @@ +AssetTiny | abel-sdk
                        abel-sdk
                          Preparing search index...

                          Interface AssetTiny

                          interface AssetTiny {
                              decimals: number;
                              id: bigint;
                              name: string;
                              unitName: string;
                          }

                          Hierarchy

                          • AssetTiny
                            • AssetTiny
                          Index

                          Properties

                          Properties

                          decimals: number
                          id: bigint
                          name: string
                          unitName: string

                          Copyright d13 2025

                          diff --git a/projects/abel-sdk-v2/docs/AssetTinyLabels/index.html b/projects/abel-sdk-v2/docs/AssetTinyLabels/index.html new file mode 100644 index 0000000..1277019 --- /dev/null +++ b/projects/abel-sdk-v2/docs/AssetTinyLabels/index.html @@ -0,0 +1,6 @@ +AssetTinyLabels | abel-sdk
                          abel-sdk
                            Preparing search index...

                            Interface AssetTinyLabels

                            interface AssetTinyLabels {
                                decimals: number;
                                id: bigint;
                                labels: string[];
                                name: string;
                                unitName: string;
                            }

                            Hierarchy

                            • AssetTinyLabels
                              • AssetTinyLabels
                            Index

                            Properties

                            Properties

                            decimals: number
                            id: bigint
                            labels: string[]
                            name: string
                            unitName: string

                            Copyright d13 2025

                            diff --git a/projects/abel-sdk-v2/docs/BoxReturn/index.html b/projects/abel-sdk-v2/docs/BoxReturn/index.html new file mode 100644 index 0000000..c3f737f --- /dev/null +++ b/projects/abel-sdk-v2/docs/BoxReturn/index.html @@ -0,0 +1,9 @@ +BoxReturn | abel-sdk
                            abel-sdk
                              Preparing search index...

                              Interface BoxReturnProtected

                              interface BoxReturn {
                                  confirmation: PendingTransactionResponse;
                                  confirmations: PendingTransactionResponse[];
                                  groupId: string;
                                  return: undefined | void;
                                  returns?: ABIReturn[];
                                  transaction: Transaction;
                                  transactions: Transaction[];
                                  txIds: string[];
                              }
                              Index

                              Properties

                              confirmation: PendingTransactionResponse
                              confirmations: PendingTransactionResponse[]
                              groupId: string
                              return: undefined | void
                              returns?: ABIReturn[]
                              transaction: Transaction
                              transactions: Transaction[]
                              txIds: string[]

                              Copyright d13 2025

                              diff --git a/projects/abel-sdk-v2/docs/ClientResponse/index.html b/projects/abel-sdk-v2/docs/ClientResponse/index.html new file mode 100644 index 0000000..229f68b --- /dev/null +++ b/projects/abel-sdk-v2/docs/ClientResponse/index.html @@ -0,0 +1 @@ +ClientResponse | abel-sdk
                              abel-sdk
                                Preparing search index...

                                Type Alias ClientResponse

                                ClientResponse: QueryReturn | SendReturn | BoxReturn

                                Copyright d13 2025

                                diff --git a/projects/abel-sdk-v2/docs/FirstArgument/index.html b/projects/abel-sdk-v2/docs/FirstArgument/index.html new file mode 100644 index 0000000..b9e66f5 --- /dev/null +++ b/projects/abel-sdk-v2/docs/FirstArgument/index.html @@ -0,0 +1 @@ +FirstArgument | abel-sdk
                                abel-sdk
                                  Preparing search index...

                                  Type Alias FirstArgument<T>Protected

                                  FirstArgument: T extends (arg1: infer U, ...args: any[]) => any ? U : never

                                  Type Parameters

                                  • T extends (...args: any[]) => any

                                  Copyright d13 2025

                                  diff --git a/projects/abel-sdk-v2/docs/LabelDescriptor/index.html b/projects/abel-sdk-v2/docs/LabelDescriptor/index.html new file mode 100644 index 0000000..36e84a8 --- /dev/null +++ b/projects/abel-sdk-v2/docs/LabelDescriptor/index.html @@ -0,0 +1,7 @@ +LabelDescriptor | abel-sdk
                                  abel-sdk
                                    Preparing search index...

                                    Interface LabelDescriptor

                                    A label description/configuration

                                    +
                                    interface LabelDescriptor {
                                        id: string;
                                        name: string;
                                        numAssets: bigint;
                                        numOperators: bigint;
                                        url: string;
                                    }

                                    Hierarchy

                                    • LabelDescriptor
                                      • LabelDescriptor
                                    Index

                                    Properties

                                    Properties

                                    id: string
                                    name: string
                                    numAssets: bigint
                                    numOperators: bigint
                                    url: string

                                    Copyright d13 2025

                                    diff --git a/projects/abel-sdk-v2/docs/QueryReturn/index.html b/projects/abel-sdk-v2/docs/QueryReturn/index.html new file mode 100644 index 0000000..460927d --- /dev/null +++ b/projects/abel-sdk-v2/docs/QueryReturn/index.html @@ -0,0 +1,6 @@ +QueryReturn | abel-sdk
                                    abel-sdk
                                      Preparing search index...

                                      Interface QueryReturnProtected

                                      interface QueryReturn {
                                          confirmations: PendingTransactionResponse[];
                                          groupId: string;
                                          returns: ABIReturn[] & [];
                                          transactions: Transaction[];
                                          txIds: string[];
                                      }
                                      Index

                                      Properties

                                      confirmations: PendingTransactionResponse[]
                                      groupId: string
                                      returns: ABIReturn[] & []
                                      transactions: Transaction[]
                                      txIds: string[]

                                      Copyright d13 2025

                                      diff --git a/projects/abel-sdk-v2/docs/SendReturn/index.html b/projects/abel-sdk-v2/docs/SendReturn/index.html new file mode 100644 index 0000000..1ae1ed5 --- /dev/null +++ b/projects/abel-sdk-v2/docs/SendReturn/index.html @@ -0,0 +1,6 @@ +SendReturn | abel-sdk
                                      abel-sdk
                                        Preparing search index...

                                        Interface SendReturnProtected

                                        interface SendReturn {
                                            confirmations: PendingTransactionResponse[];
                                            groupId: string;
                                            returns: ABIReturn[] & [undefined | void];
                                            transactions: Transaction[];
                                            txIds: string[];
                                        }
                                        Index

                                        Properties

                                        confirmations: PendingTransactionResponse[]
                                        groupId: string
                                        returns: ABIReturn[] & [undefined | void]
                                        transactions: Transaction[]
                                        txIds: string[]

                                        Copyright d13 2025

                                        diff --git a/projects/abel-sdk-v2/docs/assets/hierarchy.js b/projects/abel-sdk-v2/docs/assets/hierarchy.js new file mode 100644 index 0000000..fb85f0a --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/hierarchy.js @@ -0,0 +1 @@ +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/projects/abel-sdk-v2/docs/assets/highlight.css b/projects/abel-sdk-v2/docs/assets/highlight.css new file mode 100644 index 0000000..a387162 --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/highlight.css @@ -0,0 +1,85 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #0070C1; + --dark-hl-5: #4FC1FF; + --light-hl-6: #795E26; + --dark-hl-6: #DCDCAA; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +pre, code { background: var(--code-background); } diff --git a/projects/abel-sdk-v2/docs/assets/icons.js b/projects/abel-sdk-v2/docs/assets/icons.js new file mode 100644 index 0000000..58882d7 --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/projects/abel-sdk-v2/docs/assets/icons.svg b/projects/abel-sdk-v2/docs/assets/icons.svg new file mode 100644 index 0000000..50ad579 --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/projects/abel-sdk-v2/docs/assets/main.js b/projects/abel-sdk-v2/docs/assets/main.js new file mode 100644 index 0000000..3effabb --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","search_index_not_available":"The search index is not available","search_no_results_found_for_0":"No results found for {0}","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"}; +"use strict";(()=>{var Je=Object.create;var he=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty;var Ze=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var et=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ge(e))!Ye.call(t,i)&&i!==n&&he(t,i,{get:()=>e[i],enumerable:!(r=Ke(e,i))||r.enumerable});return t};var tt=(t,e,n)=>(n=t!=null?Je(Xe(t)):{},et(e||!t||!t.__esModule?he(n,"default",{value:t,enumerable:!0}):n,t));var ye=Ze((me,ge)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,l],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(n+=r[l+1]*i[d+1],l+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),f=s.str.charAt(1),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof me=="object"?ge.exports=n():e.lunr=n()}(this,function(){return t})})()});var O,G={getItem(){return null},setItem(){}},K;try{K=localStorage,O=K}catch{K=G,O=G}var S={getItem:t=>O.getItem(t),setItem:(t,e)=>O.setItem(t,e),disableWritingLocalStorage(){O=G},disable(){localStorage.clear(),O=G},enable(){O=K}};window.TypeDoc||={disableWritingLocalStorage(){S.disableWritingLocalStorage()},disableLocalStorage:()=>{S.disable()},enableLocalStorage:()=>{S.enable()}};window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",search_index_not_available:"The search index is not available",search_no_results_found_for_0:"No results found for {0}",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var pe=[];function Y(t,e){pe.push({selector:e,constructor:t})}var X=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){pe.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!nt(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function nt(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var fe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var Ie=tt(ye(),1);async function R(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}var Z="closing",ae="tsd-overlay";function rt(){let t=Math.abs(window.innerWidth-document.documentElement.clientWidth);document.body.style.overflow="hidden",document.body.style.paddingRight=`${t}px`}function it(){document.body.style.removeProperty("overflow"),document.body.style.removeProperty("padding-right")}function xe(t,e){t.addEventListener("animationend",()=>{t.classList.contains(Z)&&(t.classList.remove(Z),document.getElementById(ae)?.remove(),t.close(),it())}),t.addEventListener("cancel",n=>{n.preventDefault(),ve(t)}),e?.closeOnClick&&document.addEventListener("click",n=>{t.open&&!t.contains(n.target)&&ve(t)},!0)}function Ee(t){if(t.open)return;let e=document.createElement("div");e.id=ae,document.body.appendChild(e),t.showModal(),rt()}function ve(t){if(!t.open)return;document.getElementById(ae)?.classList.add(Z),t.classList.add(Z)}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var le={};function we(t){for(let e of t.split(/\s+/))if(le.hasOwnProperty(e)&&!le[e])return!0;return!1}var ee=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=S.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){S.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),le[`tsd-is-${this.el.name}`]=this.value,this.app.filterChanged(),this.app.updateIndexVisibility()}};var Le=0;async function Se(t,e){if(!window.searchData)return;let n=await R(window.searchData);t.data=n,t.index=Ie.Index.load(n.index),e.innerHTML=""}function _e(){let t=document.getElementById("tsd-search-trigger"),e=document.getElementById("tsd-search"),n=document.getElementById("tsd-search-input"),r=document.getElementById("tsd-search-results"),i=document.getElementById("tsd-search-script"),s=document.getElementById("tsd-search-status");if(!(t&&e&&n&&r&&i&&s))throw new Error("Search controls missing");let o={base:document.documentElement.dataset.base};o.base.endsWith("/")||(o.base+="/"),i.addEventListener("error",()=>{let a=window.translations.search_index_not_available;Pe(s,a)}),i.addEventListener("load",()=>{Se(o,s)}),Se(o,s),st({trigger:t,searchEl:e,results:r,field:n,status:s},o)}function st(t,e){let{field:n,results:r,searchEl:i,status:s,trigger:o}=t;xe(i,{closeOnClick:!0});function a(){Ee(i),n.setSelectionRange(0,n.value.length)}o.addEventListener("click",a),n.addEventListener("input",fe(()=>{ot(r,n,s,e)},200)),n.addEventListener("keydown",l=>{if(r.childElementCount===0||l.ctrlKey||l.metaKey||l.altKey)return;let d=n.getAttribute("aria-activedescendant"),f=d?document.getElementById(d):null;if(f){let p=!1,v=!1;switch(l.key){case"Home":case"End":case"ArrowLeft":case"ArrowRight":v=!0;break;case"ArrowDown":case"ArrowUp":p=l.shiftKey;break}(p||v)&&ke(n)}if(!l.shiftKey)switch(l.key){case"Enter":f?.querySelector("a")?.click();break;case"ArrowUp":Te(r,n,f,-1),l.preventDefault();break;case"ArrowDown":Te(r,n,f,1),l.preventDefault();break}});function c(){ke(n)}n.addEventListener("change",c),n.addEventListener("blur",c),n.addEventListener("click",c),document.body.addEventListener("keydown",l=>{if(l.altKey||l.metaKey||l.shiftKey)return;let d=l.ctrlKey&&l.key==="k",f=!l.ctrlKey&&!ct()&&l.key==="/";(d||f)&&(l.preventDefault(),a())})}function ot(t,e,n,r){if(!r.index||!r.data)return;t.innerHTML="",n.innerHTML="",Le+=1;let i=e.value.trim(),s;if(i){let a=i.split(" ").map(c=>c.length?`*${c}*`:"").join(" ");s=r.index.search(a).filter(({ref:c})=>{let l=r.data.rows[Number(c)].classes;return!l||!we(l)})}else s=[];if(s.length===0&&i){let a=window.translations.search_no_results_found_for_0.replace("{0}",` "${te(i)}" `);Pe(n,a);return}for(let a=0;ac.score-a.score);let o=Math.min(10,s.length);for(let a=0;a`,f=Ce(c.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(f+=` (score: ${s[a].score.toFixed(2)})`),c.parent&&(f=` + ${Ce(c.parent,i)}.${f}`);let p=document.createElement("li");p.id=`tsd-search:${Le}-${a}`,p.role="option",p.ariaSelected="false",p.classList.value=c.classes??"";let v=document.createElement("a");v.tabIndex=-1,v.href=r.base+c.url,v.innerHTML=d+`${f}`,p.append(v),t.appendChild(p)}}function Te(t,e,n,r){let i;if(r===1?i=n?.nextElementSibling||t.firstElementChild:i=n?.previousElementSibling||t.lastElementChild,i!==n){if(!i||i.role!=="option"){console.error("Option missing");return}i.ariaSelected="true",i.scrollIntoView({behavior:"smooth",block:"nearest"}),e.setAttribute("aria-activedescendant",i.id),n?.setAttribute("aria-selected","false")}}function ke(t){let e=t.getAttribute("aria-activedescendant");(e?document.getElementById(e):null)?.setAttribute("aria-selected","false"),t.setAttribute("aria-activedescendant","")}function Ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(te(t.substring(s,o)),`${te(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(te(t.substring(s))),i.join("")}var at={"&":"&","<":"<",">":">","'":"'",'"':"""};function te(t){return t.replace(/[&<>"'"]/g,e=>at[e])}function Pe(t,e){t.innerHTML=e?`
                                        ${e}
                                        `:""}var lt=["button","checkbox","file","hidden","image","radio","range","reset","submit"];function ct(){let t=document.activeElement;return t?t.isContentEditable||t.tagName==="TEXTAREA"||t.tagName==="SEARCH"?!0:t.tagName==="INPUT"&&!lt.includes(t.type):!1}var D="mousedown",Oe="mousemove",$="mouseup",ne={x:0,y:0},Qe=!1,ce=!1,ut=!1,F=!1,Me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Me?"is-mobile":"not-mobile");Me&&"ontouchstart"in document.documentElement&&(ut=!0,D="touchstart",Oe="touchmove",$="touchend");document.addEventListener(D,t=>{ce=!0,F=!1;let e=D=="touchstart"?t.targetTouches[0]:t;ne.y=e.pageY||0,ne.x=e.pageX||0});document.addEventListener(Oe,t=>{if(ce&&!F){let e=D=="touchstart"?t.targetTouches[0]:t,n=ne.x-(e.pageX||0),r=ne.y-(e.pageY||0);F=Math.sqrt(n*n+r*r)>10}});document.addEventListener($,()=>{ce=!1});document.addEventListener("click",t=>{Qe&&(t.preventDefault(),t.stopImmediatePropagation(),Qe=!1)});var re=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener($,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(D,n=>this.onDocumentPointerDown(n)),document.addEventListener($,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){F||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!F&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var ue=new Map,de=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;S.setItem(this.key,e.toString())}},ie=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(ue.has(i))s=ue.get(i);else{let o=S.getItem(i),a=o?o==="true":this.el.open;s=new de(i,a),ue.set(i,s)}s.add(this.el)}};function He(t){let e=S.getItem("tsd-theme")||"os";t.value=e,Ae(e),t.addEventListener("change",()=>{S.setItem("tsd-theme",t.value),Ae(t.value)})}function Ae(t){document.documentElement.dataset.theme=t}var se;function Fe(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Re),Re())}async function Re(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await R(window.navigationData);se=document.documentElement.dataset.base,se.endsWith("/")||(se+="/"),t.innerHTML="";for(let n of e)Ne(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ne(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',De(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let c=a.appendChild(document.createElement("ul"));c.className="tsd-nested-navigation";for(let l of t.children)Ne(l,c,i)}else De(t,r,t.class)}function De(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=se+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&(r.classList.add("current"),r.ariaCurrent="page"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',""");r.innerHTML=``}r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',""");r.innerHTML=``,r.appendChild(document.createElement("span")).textContent=t.text}}var oe=document.documentElement.dataset.base;oe.endsWith("/")||(oe+="/");function Ve(){document.querySelector(".tsd-full-hierarchy")?dt():document.querySelector(".tsd-hierarchy")&&ht()}function dt(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=mt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function ht(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Be),Be())}async function Be(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await R(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),pt(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function pt(t,e,n){let r=e.roots.filter(i=>ft(e,i,n));for(let i of r)t.appendChild($e(e,i,n))}function $e(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let c=t.reflections[a],l=s.appendChild(document.createElement("a"));l.textContent=c.name,l.href=oe+c.url,l.className=c.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=oe+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let c=$e(t,a,n,r);c&&o.appendChild(c)}}return r.delete(e),s}function ft(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function mt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}Y(re,"a[data-toggle]");Y(ie,".tsd-accordion");Y(ee,".tsd-filter-item input[type=checkbox]");var je=document.getElementById("tsd-theme");je&&He(je);var gt=new X;Object.defineProperty(window,"app",{value:gt});_e();Fe();Ve();"virtualKeyboard"in navigator&&(navigator.virtualKeyboard.overlaysContent=!0);})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/projects/abel-sdk-v2/docs/assets/navigation.js b/projects/abel-sdk-v2/docs/assets/navigation.js new file mode 100644 index 0000000..f7a6888 --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "eJydlE1Pg0AQhv/LnGm0JPWDG9pwUWMs3owHCpO6ke6SnSEpMf53AzTdZfmqvcE7PM+8GwIfP8B4YAgg3GIer5/AgyLhLxNcgQffQmYQLP27X888T4T8nGwxF3L3mAuUbLH94VmeKElZ6WpEdJyOmtrCrwULJal3kGNuaH914/aIyjx3ltfRJPMiUq0cqMnmqeZgNMS2k0lDvE96ZZtsknqvr7tQHc0yg1XNYJoX0n2ldTTLDO88Dcb4B3XYIJdaGvIUdRgP0jwhggCYsoWgRaEVY8qYgaVrlq2RUi0KVtpIncFYnbcSdeUWssILKsUoM9dosguEoawiy9XcWprr+9vlyj9P1X7tG6RCSULj7OY9uWWIhCYO9a7cd/4pnfhf5T7/AKufmjQ=" \ No newline at end of file diff --git a/projects/abel-sdk-v2/docs/assets/search.js b/projects/abel-sdk-v2/docs/assets/search.js new file mode 100644 index 0000000..378f10f --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "eJy1nVmT27gRx78L/arMsgGe8za7W05cuSpZV16mXCla4oxVqxEVUuMjLn/3FMCrATTIJqk8eSwS/cfxQwPolsjvQV19aYL7x+/B78fzIbgHke2Cc/FSBvfBw8fy9Nuvfw52wWt9Gv//U7AL9qeiacomuA+CH7u+bAxiKLuvzs21ft1fq9op/8a8iGztgktRl+crEh/NQyiiwX5dFodfTkd1r2NeXdv311ZZ/1Ifr+XDfl+9Uvb11WK4ul7B1wB9cXELRCIgGhWKy+XdwbVdXC7HwxKrYTQSURwOfyk+lifC7OFw6q5ssvy+emiakuiTXuBaFd0Nt9BpZoWaDUp/v5R1ca3q95W/16runmu1qf/2n4rzc+mRaS9usv9cXh9OJ91n734leu25vBYnbfh6PKzus1ZFt8KrceqvblDoB8YrUqEbVuuozphqi7q+vTUa0revJ2Lce5Hmqb28TWOuKc2N2vLX476uJmReuus3UJltkta6Ubt+eykmB6nprm9TeV9+JbznIHJtL2/XmO06pXSjnnt/PH+bUmovb9eYb9Px/G1zm7TKr2Wzr48Xcnv03LmFA77nRmp06yy5La3rXetEX/bOdVtPfiqa0cO6Op+KZnSwGzT85rdaNnqKVDA6aq3Spaib8i/Vc/NAjIa+eKqem2L1ONTlS/XZt/NoL26qP7L/tq5ePNtDJPRUVy+b9oitrX54lOhk6/pRUrpLW2octwaaj+dn+2jgXlt/DCNs8Y5kRAU9x5vicmG0QB1G5o45fM19XRbX8n1dnJtifz1W55kW69uvxu2b63Ap6uKlmRYe7tms1pTnw7RWd8d2pWtxLWekulvWaNlH19NzVRdzbUN33ULzcnk4HOqymRm94nIphvtuo/turqHTR/aFan9Tf83pndubbqP426Xczyo27U2rFI2D8Kk6z7Svv2Wz1qHcV4fyn+X1tT7/qzi9zui2t9f69s/d7Zvr0G9gzRMgJd/vYqcPg8uV7Z3elPbclm+5unVanBKfOTiu1F7SfNZxcnk9Gv7gz4QCVmgvaf9siGC5vnWqnlSfPmCvaPsC+ObCFmvVF3X//4u/JYNw+1EwQx6T4tPhj5Xai4aAExZZUw8jRDJdg8lwyUrtZX3ACKMsrwcfg1tTsBSC/w8DfARuTcBSAG4+/tb53KM9czhfpOgLc3mkuSEvfh084S9KnxkKW6TNk72loidc5lFmhs74NThVz/z9zql6vvV+51Q9M5Vvp3kuv/yxrl4v05Ln8stzd9dmRRVD+0UFZqr64XyYP6qq+/ft/cX5sOXUatfib+X1S1X/Pi9/Hm5cFWXxBQDfFioW53Ho3cXbhAB7Y8tjgH0d/UFAVivU8f9puHG7LjMQOLZ7XSRwphZTocBBekkscEbPHwwc1PjRQFdrUYhuHNlFMbp51anwFcaJ7wk4mv4AFtbkR7AITTOsdDlVc3NmuGm7ntrG9fH6n79x3O9QC7Wj62P4H7+t8cSL6uaLlHrqw42aEnWIE/trcH+/KNfg5NC6j72u2PSIzqwxjTDmi1kZv+d1v/s1inC+AjajsK/O+9e6Ls97JzM/6Jj3bFFT3+jzfB1vUFP3ML+UN6M29e2/QW7JlwBdPYMvOnyrPuFRtT8VXz4W+9+J8m/QtdHQtTn84dj84Xj+VKpWHJyJoWsztbrae4lObLh0I61DuT++FPaetxVD126m9lS8nq5v6+q/5ZmW1Dc89TfcSPepLsv/lpTgcOVGSscDpTLnJqcsDocNxypxDNlU95fiXDyXJHfjpVtpldfiUFyLPxXNJ1Kwu/6pvX4j1bOz3rZqzmK6SaUum7L+TAqNl26r9XNxKs77KcmPwx03Ur5W14JyqG/6CzfSeT0fr+4+qZVS1247dkqCEqq3tchZjYi8hv6Itx7RXrs1sNJttxVierVOac6tTdqkx7WzvG5gbT2616kgD7qweQQ6M1vGoaviktHoVVljMm2fWnEMjTULD0N3goheeQMXjrZDB5Fj0x9tIaI1sJKFtkIevU9F8wu5Le0kPxXNuq3pnOpbYjM1aq7ZUE0q2rR3UnOcT9qkCO/srmF7Usvdc3RKyzme1CHW405oxYI8qUTP005s3Qy19Zy56aYe1Se8mWkTpEvOAqQV2WPa2lze8CkVup9bpXXdPKlm73w6oaU7H0uDHElqCR4/Xz+q3EUQ1WGBh8AKa9zEvCrNVa+5brzXrLlYdT1pM8oUb4PoGurmV3g3ga8+2bK+6/Irl3ddGy7dWmeW6wmLBFva5oqxnVDx8KSVVpJkqpFjSvqT4fOt47ttQ4/qt2Cs2Z5s1jrpyZDCKk82q0rTtsGTzSr6ydvoyShlTOHP1df2C8qD8vDJT5TUpa6u5V5J+SP/T8f6pTASq6PNN9Z1mo6xVgyVZk7Gn0Cd1dHfXEC5EqSgL00QPmu79vX7m+HKJstkv4yXVtq+EnlzZJ+TJl+iQTbCur5W5eu7A23+69Rv1Cm7eEbp6Ub8ftP6fPE+0S4/5V3tOnD8nGN/kbfhKr62v9BrJmRf25/n8b06X9v9YT8lT/+6/wY1wLtGR3jJrtGvh0n8x2tZf7O8O/psu39vSLNM34trx/S+hsqc/2XYt/2kYX/OUzLsk37MEGF5Mo6S4ctMiUlvRtvGFP1Wng8WRONHt2QIWWUihKrGJAhrzAE0b93mB1ufw2feOkkPlmDBw9Ax2DEEJtEhLYswTyEev174cP72FiXL1f/YzNi22q/5/LNsLtW5GRcu82Pvumpbe3usm+tD/fz6UqLvcRifztX0wy44ng/l1+D+e/C5rBu16bkPxJ28y4Nd8HQsTwf18Kx+nd1XL53Wodq3sh+62/5V7vWCc//Y3v1TGOwew12U3uXyw4fdY19Wf64/6E2Mn+hyEOweYSfzuyhOjYLgFASjoAh2j4IQFE45YZSTwe5R7iJxlwlhFJROQWkUjILdY0QIRk65yCgXB7vHmGph7BSMjYJJsHtMCMHEKZcY5dJg95gS5VKnXGqUy4LdY0aUy5xymVEuD3aPOVEud8rl5tArEoCCBlxqwMJGcwNUWQIckxxQQADFDrjwgEkPKCZAUmVdfsAECBQXEFHsgQsRmBSBYgNisrALEpgkgQIEErKwSxOYOIGiBFKysIsUmEyBQgUysrDLFZhggeIFcrKwCxeYdAkFjAipwsLFS5h4CUWMALKwy5ewPJN2TYIsTHgnEzChmBGkgxIuYcIkTChmBOWkhAuYMAETChkRU2VdvoTJl1DECJIv4fIlTL6EIkaQfAmXL2HyJRQxguRLuHwJky+hiBEkX8LlS5h8SUWMpLyXdPGSJl5SASMp7yVduqRJl1S8SMp7SRcuaa19evGjvJckVj+TLalwkRRb0mVLmmzJ2LfKS5ctabIlFS2S4lK6aEkTLalgkSSX0kVLmmhJBYskuZQuWtJESypYJMmldNGSJlqRRotaUiMXrchEK1K0RCHV15HLVmSyFSlcIorLyGUrMtmKpG+fE7lsRdbWSu+tSI8ZEdsrE65I8RKRHjNy6YpMuiIFTERu61y6IpOuSPESUWRGLlyRCVekcImo3V3kshWZbEW5dx8RuWxFJluxwiWitoexy1ZsshVrtqgtYuyiFZtoxcK7f4ldtmKTrVh69y+xC1dswhVruKjZFLtsxdbePfbufWJi+26yFSfevU/swhWbcMWpd+8Tu3TFJl1x5t37xC5esYlXnHv3PrGLV2zilYTevU/i8pWYfCXg3fskLmCJCViikImp9Thx+UpMvhLtuyi/l7h4JSZeiSImptbjxMUrMfFK9NmQWo8Tl67EOh0qXmLKcyXEAdGEK0m9+7XEhSsx4Uoy734tceFKTLiS3LtfS1y4EhOuNPTu11IXrtSEK1W4xJS3Tl22UpOtVLNFeevUZSs12Uo1W+R53GUrNdlKNVuUw01dtlKTrVSzRbm91GUrNdlKdeiBmkupy1ZqRR9S314vJQIQJlqpgiWh5mHqkpWaZKW5d6+XumSlJllZ6N3rZS5ZmUlWBt69XuailZloZcK7X8tctjKTrUx6902ZC1dmwpVF3n1T5tKVmXRlCpiE8nqZS1dm0pVpuiivl7l0ZSZdmQImobxe5tKVWfEtTRflATIixGXSleX+YXLpyky68tC3Nc5duHITrlzhklCuJ3fZyk22ckVLQrme3EUrN9HKvXHS3CUrN8nKFSsJ5bZyF6zcBCvXYJHhRBes3AQrV6yklNvKXbByE6xcR01hJ+WdSKxBcsnKTbJyBUtKzYbcJSu3oqeKlZSaDTkRQLUjqAqWNNqJ/C5KrQhZSAVRrShqqIBJ452M7nJpxd9DIpAaWpHUUEGTUnS2l+ziVjA1VNykFKDtJbu4FU8NFTpptpNwl8nEKk9EVEMrpBoqfFKKtfaSXdwKqoaKoIyOXxNR1dAKq4aKoYzcZ7fX7PJWZDXU8Xqxk+FdnEVWeSK2GlrB1VCxlMmdTO7yyC5PhFdDiz0dkc8oVwxU/N4J4IN3wgEZw7fQ04F5D/pUHN8O5OvgvKf7qFi+HczX8fmMWk2Aiubb4Xwdofc1n4DPjujrIL2v+QR9dlBfx+k9M58K69txfZigj4rs26F9Ha3PSM9Bxfat4D7oeL2n+4jwPljxfdAh+4z0PESAH6wIP+igfUatcECE+MGK8YMO23sGj4jygxXmBx269wweEekHK9QPOnzvcZxEtB+scD/oCL7HdREBf7Ai/qCD+B54iJg/WEF/0HH8jHTcRNQfrLA/6Ei+r/sJ+KzIP+hovqf7iOA/WNF/0BF9T/OJBABYGQDQUX2P5yaSAGBlAUBH9nNy4SLyAGAlAkAH9z3dR+QCwEoGgA7we+gl8gFgJQRAB/l93U/QZyUFQE7QR6QFwMoLgA71+7qfwM9KDYCO9udk7prIDYCVHIBowvUR+QGwEgSgY/6e4SNSBGDlCEDH/T3dT6QJwMoTQDSx8BKpArByBaDD/zmZvieSBWBlCyCaWHiJfAFYCQOIJhZeImcAVtIAoomFl8gbgJU4AJ0M8HU/QZ+VPACdD/B1P4GflT8AnRPIyW9AEBkEsFIIoNMCOblrJJIIYGURQCcGcvIsDUQeAaxEAujcQJ7Q5Qn4rFwC6PxATu4biGwCWOkE0BmCPKPlqa9xWPDpJEFOLnxESgGsnAK0SYWQDGMAkVYAK68AOlUAIf2FLSK1AFZuAXS6AEJy9hLZBbDSC5BMHHiJBANYGQbQSQPP7CFyDGAlGUAnDiAk8SfyDGAlGkAnDyAk+SdyDWAlG0AnEDxrD5FvACvhADqJACF5bCFyDmAlHUAnEjzzj8g7gJV4AJ1L8Mw/IvUAVu4BdDrBM4GI7ANY6QdI8okZQGQgwEpBQBpOzAAiCwFWGgJ0agFC8uRDZCLASkVAOuEBiWwEWOkISCc8IJGRACslATrN4BkBIisBVloC0nhiBIjUBFi5CdD5Bu8IEAxaCQpoMxQh6cSJHAVYSQpIWydInv6IPAVYiQpIWwZJL06kKvrP9Jd3P5f1tTy8a7/E+/gY6J/KHX4Pdt+Df3df7Q37bwx/D8Lg/vuPH+MXee+//0Df5VXXlFJno+ofCDiaSuLRVpbxjA0vTkVmRivJIiPDy1FHW+loK11jy2hfhprHNea84HQ0l4/mcp654fGIo5EIjV8EbcFMdP8yzZ6/PZ2xTQX7YFTxzLKC3gyEqgeoeoJrqH8r1mhHIrQkkwr0WF0EF6pQyhzF9oGRow1Ul7gtE8n235w5hfpHtKKOEqijom78JNda+/BVZE0ia10ds4hnrRlekoN6DaGfL7Bz6h4xSgxohAZ0hUVqaNFUSJmMNOOLcdA8R3VTgehllvrfbCN7Mba3oLHdy0KQpQRbYk7vZnjnAzKEnI8KeC0y5LYwR12vAkB8c/qhD8gQYENLGoheqoDMoVkFEa/nP1Zf+x8oI0NoQqlDKseQ8d5p7F2RKaal4VlRiHa8fMRMM2oW1sMPjHCdMuzxeTx0LxJDXgfNm4g3AY2H5KLGIc5z4FpCP7xHI4cnc7zclskTnslxt8yqU0v7R8pb4YwnzaNBQLbbkrJz3cwlmHiSO3K4qEtl2tnlTbDhwbZoX4UgznlDPT6hA5lBbc67SqnUXfdH13yVjmn/iIY/eMQT75xDuKLBjHg9bD0CFzUEOZqcN336R5gj6pGRjNfAJ/V7vmL4lR+e0djDMwe6fz4cahfyeznXiPtSCrR3Qo4m5Tlk4zUTyBJqYMrrrfbt9nq90L/8RN2FJx/PSbTG3DUH8JrDcwitKfS7fGQNLzy8hXX6qfQIN2Q6481h9wHzyBxytBlvOpnvZEQzE/mqiDeb7Fcsoh7EC0C3s454KFuvTkQVRAck5m6AfAkisojmBXOVsl5qiFpsrFJt6ZhPYoNf3YOs4r1nt+LFfCLJ/WyE5nDM8wb2GwVRBY1Ta1dBvmNonFcEItN4e5R1pvlTpkFv/kNGsYfOO6PLJk5j7+sFWpf7VTNeNoMaeosvkIcU3QodL5tGjb3bF8hVim43lSybTg298RfIt4nucJ4sm1Z218aoa5Nls4nu0Rj1aLJsItkdGaOOTJbNI7r/YtR/CXsOOWedGPnehD1ftJkDesQQGldkULAbahk0SUHOUrBbar/RDtlDblJ0bjJhzur+iR3owIGdbtyBDEm/VU552FivwEOVRS5TdEYTnrswHmGMAgvYCQvejENPJkaGsMsVvPk2vnMPNRHZEZ3rTnh+y32RHjKLnLfonHfKc13mCKd4exL25xvoz5b9Sgu9F4NeDWS3mYE+7gtRfzPTiU5MNJV0ReTxOsydDSneioTDwa7nV/RN6E+6wDyIOa8YRD4HSaY8ANFrA5EdNPWYB/vhTRyoA/AEDplmjPdrIFt4boW8qW9v+lM8rcK++0Xf/bIHUPYoRT2JUdbDxevU8cWIqE9xPobZgPF5aZhOfCxirsbmo8+wMTwFmStx/+o6FGBBbZNdX2W8eXgp6qY8Vc9NYVpEOw7Js/Qf9bwrN3ypUvioibxlznilFDrnoXbmvJ5XltwUAN78Mc28VJ/dgKpE+yjJYxNZUtEFJ20oUd3kksr1gCmrbkURtMwg+fBOGjSD8bEh5A6l+Z4ZtMwa0WjeFo0Ij2PPxDzIDU8QQ2awc4p7n5T0jocZL2rf84i6HVmV3eKZ8ThRpqjZhJ06c41prsXV6HmJxjHize7uZQFo9HDYKhxWVd4wegLFOeaLecg1H9WGewrjFfcVTPotDDNu1z2oDdvFDY8HQPrVi5n+Gx86jLoU73vC3jL0u6/+9A/9dhlkv6vpo+rQZ4OBGWbSj8ZENcBrWzjs9vp1WA7rMG86mK/qQ/yhWdEWzXk+SRt03TlO/szb+bALLseLSuWWwf3jhx8//gdH4ATY"; \ No newline at end of file diff --git a/projects/abel-sdk-v2/docs/assets/style.css b/projects/abel-sdk-v2/docs/assets/style.css new file mode 100644 index 0000000..7c3fbdb --- /dev/null +++ b/projects/abel-sdk-v2/docs/assets/style.css @@ -0,0 +1,1640 @@ +@layer typedoc { + :root { + --dim-toolbar-contents-height: 2.5rem; + --dim-toolbar-border-bottom-width: 1px; + --dim-header-height: calc( + var(--dim-toolbar-border-bottom-width) + + var(--dim-toolbar-contents-height) + ); + + /* 0rem For mobile; unit is required for calculation in `calc` */ + --dim-container-main-margin-y: 0rem; + + --dim-footer-height: 3.5rem; + + --modal-animation-duration: 0.2s; + } + + :root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --light-color-background-active: #d6d8da; + --light-color-background-warning: #e6e600; + --light-color-warning-text: #222; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-background-active); + --light-color-text: #222; + --light-color-contrast-text: #000; + --light-color-text-aside: #5e5e5e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: #9f5f30; + --light-color-ts-method: #be3989; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var( + --light-color-ts-constructor + ); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #c73c3c; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-color-alert-note: #0969d9; + --light-color-alert-tip: #1a7f37; + --light-color-alert-important: #8250df; + --light-color-alert-warning: #9a6700; + --light-color-alert-caution: #cf222e; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + } + + :root { + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --dark-color-background-active: #5d5d6a; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: var(--dark-color-background-active); + --dark-color-text: #f5f5f5; + --dark-color-contrast-text: #ffffff; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff6060; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-color-alert-note: #0969d9; + --dark-color-alert-tip: #1a7f37; + --dark-color-alert-important: #8250df; + --dark-color-alert-warning: #9a6700; + --dark-color-alert-caution: #cf222e; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; + } + + @media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var( + --light-color-background-secondary + ); + --color-background-active: var(--light-color-background-active); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-contrast-text: var(--light-color-contrast-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-alert-note: var(--light-color-alert-note); + --color-alert-tip: var(--light-color-alert-tip); + --color-alert-important: var(--light-color-alert-important); + --color-alert-warning: var(--light-color-alert-warning); + --color-alert-caution: var(--light-color-alert-caution); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } + } + + @media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var( + --dark-color-background-secondary + ); + --color-background-active: var(--dark-color-background-active); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-contrast-text: var(--dark-color-contrast-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-alert-note: var(--dark-color-alert-note); + --color-alert-tip: var(--dark-color-alert-tip); + --color-alert-important: var(--dark-color-alert-important); + --color-alert-warning: var(--dark-color-alert-warning); + --color-alert-caution: var(--dark-color-alert-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + } + + :root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-active: var(--light-color-background-active); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-contrast-text: var(--light-color-contrast-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --color-note: var(--light-color-note); + --color-tip: var(--light-color-tip); + --color-important: var(--light-color-important); + --color-warning: var(--light-color-warning); + --color-caution: var(--light-color-caution); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } + + :root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-active: var(--dark-color-background-active); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-contrast-text: var(--dark-color-contrast-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --color-note: var(--dark-color-note); + --color-tip: var(--dark-color-tip); + --color-important: var(--dark-color-important); + --color-warning: var(--dark-color-warning); + --color-caution: var(--dark-color-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + + html { + color-scheme: var(--color-scheme); + @media (prefers-reduced-motion: no-preference) { + scroll-behavior: smooth; + } + } + + *:focus-visible, + .tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); + } + + .always-visible, + .always-visible .tsd-signatures { + display: inherit !important; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 1.2; + } + + h1 { + font-size: 1.875rem; + margin: 0.67rem 0; + } + + h2 { + font-size: 1.5rem; + margin: 0.83rem 0; + } + + h3 { + font-size: 1.25rem; + margin: 1rem 0; + } + + h4 { + font-size: 1.05rem; + margin: 1.33rem 0; + } + + h5 { + font-size: 1rem; + margin: 1.5rem 0; + } + + h6 { + font-size: 0.875rem; + margin: 2.33rem 0; + } + + dl, + menu, + ol, + ul { + margin: 1em 0; + } + + dd { + margin: 0 0 0 34px; + } + + .container { + max-width: 1700px; + padding: 0 2rem; + } + + /* Footer */ + footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: var(--dim-footer-height); + } + footer > p { + margin: 0 1em; + } + + .container-main { + margin: var(--dim-container-main-margin-y) auto; + /* toolbar, footer, margin */ + min-height: calc( + 100svh - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + } + + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } + } + @keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } + } + @keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } + } + body { + background: var(--color-background); + font-family: + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + "Noto Sans", + Helvetica, + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); + margin: 0; + } + + a { + color: var(--color-link); + text-decoration: none; + } + a:hover { + text-decoration: underline; + } + a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; + } + a.tsd-anchor-link { + color: var(--color-text); + } + :target { + scroll-margin-block: calc(var(--dim-header-height) + 0.5rem); + } + + code, + pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; + } + + pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); + margin-bottom: 8px; + } + pre code { + padding: 0; + font-size: 100%; + } + pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; + } + pre:hover > button, + pre > button.visible, + pre > button:focus-visible { + opacity: 1; + } + + blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; + } + + img { + max-width: 100%; + } + + * { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); + } + + *::-webkit-scrollbar { + width: 0.75rem; + } + + *::-webkit-scrollbar-track { + background: var(--color-icon-background); + } + + *::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); + } + + dialog { + border: none; + outline: none; + padding: 0; + background-color: var(--color-background); + } + dialog::backdrop { + display: none; + } + #tsd-overlay { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + z-index: 9999; + top: 0; + left: 0; + right: 0; + bottom: 0; + animation: fade-in var(--modal-animation-duration) forwards; + } + #tsd-overlay.closing { + animation-name: fade-out; + } + + .tsd-typography { + line-height: 1.333em; + } + .tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; + } + .tsd-typography .tsd-index-panel h3, + .tsd-index-panel .tsd-typography h3, + .tsd-typography h4, + .tsd-typography h5, + .tsd-typography h6 { + font-size: 1em; + } + .tsd-typography h5, + .tsd-typography h6 { + font-weight: normal; + } + .tsd-typography p, + .tsd-typography ul, + .tsd-typography ol { + margin: 1em 0; + } + .tsd-typography table { + border-collapse: collapse; + border: none; + } + .tsd-typography td, + .tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); + } + .tsd-typography thead, + .tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); + } + + .tsd-alert { + padding: 8px 16px; + margin-bottom: 16px; + border-left: 0.25em solid var(--alert-color); + } + .tsd-alert blockquote > :last-child, + .tsd-alert > :last-child { + margin-bottom: 0; + } + .tsd-alert-title { + color: var(--alert-color); + display: inline-flex; + align-items: center; + } + .tsd-alert-title span { + margin-left: 4px; + } + + .tsd-alert-note { + --alert-color: var(--color-alert-note); + } + .tsd-alert-tip { + --alert-color: var(--color-alert-tip); + } + .tsd-alert-important { + --alert-color: var(--color-alert-important); + } + .tsd-alert-warning { + --alert-color: var(--color-alert-warning); + } + .tsd-alert-caution { + --alert-color: var(--color-alert-caution); + } + + .tsd-breadcrumb { + margin: 0; + margin-top: 1rem; + padding: 0; + color: var(--color-text-aside); + } + .tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; + } + .tsd-breadcrumb a:hover { + text-decoration: underline; + } + .tsd-breadcrumb li { + display: inline; + } + .tsd-breadcrumb li:after { + content: " / "; + } + + .tsd-comment-tags { + display: flex; + flex-direction: column; + } + dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; + } + dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; + } + dl.tsd-comment-tag-group dd { + margin: 0; + } + code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; + } + h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; + } + + dl.tsd-comment-tag-group dd:before, + dl.tsd-comment-tag-group dd:after { + content: " "; + } + dl.tsd-comment-tag-group dd pre, + dl.tsd-comment-tag-group dd:after { + clear: both; + } + dl.tsd-comment-tag-group p { + margin: 0; + } + + .tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; + } + .tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; + } + + .tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; + } + .tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; + } + .tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + } + .tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; + } + .tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; + } + .tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; + } + .tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); + } + .tsd-checkbox-background { + fill: var(--color-accent); + } + input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; + } + .tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); + } + + .settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; + } + + .tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; + } + + .tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; + } + + .tsd-hierarchy h4 label:hover span { + text-decoration: underline; + } + + .tsd-hierarchy { + list-style: square; + margin: 0; + } + .tsd-hierarchy-target { + font-weight: bold; + } + .tsd-hierarchy-toggle { + color: var(--color-link); + cursor: pointer; + } + + .tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); + } + .tsd-full-hierarchy, + .tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; + } + .tsd-full-hierarchy ul { + padding-left: 1.5rem; + } + .tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-full-hierarchy svg[data-dropdown] { + cursor: pointer; + } + .tsd-full-hierarchy svg[data-dropdown="false"] { + transform: rotate(-90deg); + } + .tsd-full-hierarchy svg[data-dropdown="false"] ~ ul { + display: none; + } + + .tsd-panel-group.tsd-index-group { + margin-bottom: 0; + } + .tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; + } + @media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } + } + @media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } + } + .tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; + } + + .tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; + } + + .tsd-anchor { + position: relative; + top: -100px; + } + + .tsd-member { + position: relative; + } + .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; + } + + .tsd-navigation.settings { + margin: 0; + margin-bottom: 1rem; + } + .tsd-navigation > a, + .tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; + } + .tsd-navigation a, + .tsd-navigation summary > span, + .tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; + } + .tsd-navigation a.current, + .tsd-page-navigation a.current { + background: var(--color-active-menu-item); + color: var(--color-contrast-text); + } + .tsd-navigation a:hover, + .tsd-page-navigation a:hover { + text-decoration: underline; + } + .tsd-navigation ul, + .tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; + } + .tsd-navigation li, + .tsd-page-navigation li { + padding: 0; + max-width: 100%; + } + .tsd-navigation .tsd-nav-link { + display: none; + } + .tsd-nested-navigation { + margin-left: 3rem; + } + .tsd-nested-navigation > li > details { + margin-left: -1.5rem; + } + .tsd-small-nested-navigation { + margin-left: 1.5rem; + } + .tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; + } + + .tsd-page-navigation-section > summary { + padding: 0.25rem; + } + .tsd-page-navigation-section > summary > svg { + margin-right: 0.25rem; + } + .tsd-page-navigation-section > div { + margin-left: 30px; + } + .tsd-page-navigation ul { + padding-left: 1.75rem; + } + + #tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; + } + #tsd-sidebar-links a:last-of-type { + margin-bottom: 0; + } + + a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ + display: flex; + align-items: center; + gap: 0.25rem; + box-sizing: border-box; + } + .tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ + } + .tsd-accordion-summary, + .tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; + } + .tsd-accordion-summary a { + width: calc(100% - 1.5rem); + } + .tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; + } + /* + * We need to be careful to target the arrow indicating whether the accordion + * is open, but not any other SVGs included in the details element. + */ + .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child { + transform: rotate(-90deg); + } + .tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; + } + .tsd-index-summary { + margin-top: 1.5rem; + margin-bottom: 0.75rem; + display: flex; + align-content: center; + } + + .tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; + } + .tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; + } + + .tsd-panel { + margin-bottom: 2.5rem; + } + .tsd-panel.tsd-member { + margin-bottom: 4rem; + } + .tsd-panel:empty { + display: none; + } + .tsd-panel > h1, + .tsd-panel > h2, + .tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; + } + .tsd-panel > h1.tsd-before-signature, + .tsd-panel > h2.tsd-before-signature, + .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; + } + + .tsd-panel-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group details { + margin: 2rem 0; + } + .tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; + } + + #tsd-search[open] { + animation: fade-in var(--modal-animation-duration) ease-out forwards; + } + #tsd-search[open].closing { + animation-name: fade-out; + } + + /* Avoid setting `display` on closed dialog */ + #tsd-search[open] { + display: flex; + flex-direction: column; + padding: 1rem; + width: 32rem; + max-width: 90vw; + max-height: calc(100vh - env(keyboard-inset-height, 0px) - 25vh); + /* Anchor dialog to top */ + margin-top: 10vh; + border-radius: 6px; + will-change: max-height; + } + #tsd-search-input { + box-sizing: border-box; + width: 100%; + padding: 0 0.625rem; /* 10px */ + outline: 0; + border: 2px solid var(--color-accent); + background-color: transparent; + color: var(--color-text); + border-radius: 4px; + height: 2.5rem; + flex: 0 0 auto; + font-size: 0.875rem; + transition: border-color 0.2s, background-color 0.2s; + } + #tsd-search-input:focus-visible { + background-color: var(--color-background-active); + border-color: transparent; + color: var(--color-contrast-text); + } + #tsd-search-input::placeholder { + color: inherit; + opacity: 0.8; + } + #tsd-search-results { + margin: 0; + padding: 0; + list-style: none; + flex: 1 1 auto; + display: flex; + flex-direction: column; + overflow-y: auto; + } + #tsd-search-results:not(:empty) { + margin-top: 0.5rem; + } + #tsd-search-results > li { + background-color: var(--color-background); + line-height: 1.5; + box-sizing: border-box; + border-radius: 4px; + } + #tsd-search-results > li:nth-child(even) { + background-color: var(--color-background-secondary); + } + #tsd-search-results > li:is(:hover, [aria-selected="true"]) { + background-color: var(--color-background-active); + color: var(--color-contrast-text); + } + /* It's important that this takes full size of parent `li`, to capture a click on `li` */ + #tsd-search-results > li > a { + display: flex; + align-items: center; + padding: 0.5rem 0.25rem; + box-sizing: border-box; + width: 100%; + } + #tsd-search-results > li > a > .text { + flex: 1 1 auto; + min-width: 0; + overflow-wrap: anywhere; + } + #tsd-search-results > li > a .parent { + color: var(--color-text-aside); + } + #tsd-search-results > li > a mark { + color: inherit; + background-color: inherit; + font-weight: bold; + } + #tsd-search-status { + flex: 1; + display: grid; + place-content: center; + text-align: center; + overflow-wrap: anywhere; + } + #tsd-search-status:not(:empty) { + min-height: 6rem; + } + + .tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; + } + + .tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; + } + + .tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; + } + + .tsd-signature-type { + font-style: italic; + font-weight: normal; + } + + .tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; + } + .tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; + } + .tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; + } + .tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; + } + .tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; + } + + ul.tsd-parameter-list, + ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; + } + ul.tsd-parameter-list > li.tsd-parameter-signature, + ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; + } + ul.tsd-parameter-list h5, + ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; + } + .tsd-sources { + margin-top: 1rem; + font-size: 0.875em; + } + .tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; + } + .tsd-sources ul { + list-style: none; + padding: 0; + } + + .tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: var(--dim-toolbar-border-bottom-width) + var(--color-accent) solid; + transition: transform 0.3s ease-in-out; + } + .tsd-page-toolbar a { + color: var(--color-text); + } + .tsd-toolbar-contents { + display: flex; + align-items: center; + height: var(--dim-toolbar-contents-height); + margin: 0 auto; + } + .tsd-toolbar-contents > .title { + font-weight: bold; + margin-right: auto; + } + #tsd-toolbar-links { + display: flex; + align-items: center; + gap: 1.5rem; + margin-right: 1rem; + } + + .tsd-widget { + box-sizing: border-box; + display: inline-block; + opacity: 0.8; + height: 2.5rem; + width: 2.5rem; + transition: opacity 0.1s, background-color 0.1s; + text-align: center; + cursor: pointer; + border: none; + background-color: transparent; + } + .tsd-widget:hover { + opacity: 0.9; + } + .tsd-widget:active { + opacity: 1; + background-color: var(--color-accent); + } + #tsd-toolbar-menu-trigger { + display: none; + } + + .tsd-member-summary-name { + display: inline-flex; + align-items: center; + padding: 0.25rem; + text-decoration: none; + } + + .tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + color: var(--color-text); + vertical-align: middle; + } + + .tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; + } + + .tsd-member-summary-name:hover > .tsd-anchor-icon svg, + .tsd-anchor-link:hover > .tsd-anchor-icon svg, + .tsd-anchor-icon:focus-visible svg { + visibility: visible; + } + + .deprecated { + text-decoration: line-through !important; + } + + .warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); + } + + .tsd-kind-project { + color: var(--color-ts-project); + } + .tsd-kind-module { + color: var(--color-ts-module); + } + .tsd-kind-namespace { + color: var(--color-ts-namespace); + } + .tsd-kind-enum { + color: var(--color-ts-enum); + } + .tsd-kind-enum-member { + color: var(--color-ts-enum-member); + } + .tsd-kind-variable { + color: var(--color-ts-variable); + } + .tsd-kind-function { + color: var(--color-ts-function); + } + .tsd-kind-class { + color: var(--color-ts-class); + } + .tsd-kind-interface { + color: var(--color-ts-interface); + } + .tsd-kind-constructor { + color: var(--color-ts-constructor); + } + .tsd-kind-property { + color: var(--color-ts-property); + } + .tsd-kind-method { + color: var(--color-ts-method); + } + .tsd-kind-reference { + color: var(--color-ts-reference); + } + .tsd-kind-call-signature { + color: var(--color-ts-call-signature); + } + .tsd-kind-index-signature { + color: var(--color-ts-index-signature); + } + .tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); + } + .tsd-kind-parameter { + color: var(--color-ts-parameter); + } + .tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); + } + .tsd-kind-accessor { + color: var(--color-ts-accessor); + } + .tsd-kind-get-signature { + color: var(--color-ts-get-signature); + } + .tsd-kind-set-signature { + color: var(--color-ts-set-signature); + } + .tsd-kind-type-alias { + color: var(--color-ts-type-alias); + } + + /* if we have a kind icon, don't color the text by kind */ + .tsd-kind-icon ~ span { + color: var(--color-text); + } + + /* mobile */ + @media (max-width: 769px) { + #tsd-toolbar-menu-trigger { + display: inline-block; + /* temporary fix to vertically align, for compatibility */ + line-height: 2.5; + } + #tsd-toolbar-links { + display: none; + } + + .container-main { + display: flex; + } + .col-content { + float: none; + max-width: 100%; + width: 100%; + } + .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + .col-sidebar > *:last-child { + padding-bottom: 20px; + } + .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } + } + + /* one sidebar */ + @media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + --dim-container-main-margin-y: 2rem; + } + + .tsd-breadcrumb { + margin-top: 0; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } + } + @media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc( + 100vh - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc( + var(--dim-header-height) + var(--dim-container-main-margin-y) + ); + } + .site-menu { + margin-top: 1rem; + } + } + + /* two sidebars */ + @media (min-width: 1200px) { + .container-main { + grid-template-columns: + minmax(0, 1fr) minmax(0, 2.5fr) minmax( + 0, + 20rem + ); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 0rem; + } + + .page-menu, + .site-menu { + max-height: calc( + 100vh - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc( + var(--dim-header-height) + var(--dim-container-main-margin-y) + ); + } + } +} diff --git a/projects/abel-sdk-v2/docs/hierarchy.html b/projects/abel-sdk-v2/docs/hierarchy.html new file mode 100644 index 0000000..175ea59 --- /dev/null +++ b/projects/abel-sdk-v2/docs/hierarchy.html @@ -0,0 +1 @@ +abel-sdk
                                        abel-sdk
                                          Preparing search index...

                                          abel-sdk

                                          Hierarchy Summary

                                          Copyright d13 2025

                                          diff --git a/projects/abel-sdk-v2/docs/index.html b/projects/abel-sdk-v2/docs/index.html new file mode 100644 index 0000000..e1e0120 --- /dev/null +++ b/projects/abel-sdk-v2/docs/index.html @@ -0,0 +1,67 @@ +abel-sdk
                                          abel-sdk
                                            Preparing search index...

                                            abel-sdk

                                            Abel SDK for js-algorand-sdk v2

                                            Abel is an Asset Labeling registry, as well as a provider of batch asset data.

                                            +
                                            Warning

                                            +This version of abel-SDK only supports js-algorand-sdk v2 and its corresponding algokit-utils v7

                                            +
                                            +
                                            npm i abel-sdk
                                            +
                                            + +
                                            Note

                                            +Want to explore with a CLI? Check out abel-cil which uses this SDK under the hood.

                                            +
                                            +

                                            The default use case is with a read-only client. This will allow you to fetch asset and label data, but not operate on the registry.

                                            +

                                            Create an SDK instance by passing in the abel app ID and an an algokit.AlgorandClient.

                                            +

                                            For Mainnet:

                                            +
                                            import { AlgorandClient } from "@algorandfoundation/algokit-utils";
                                            import { AbelSDK } from "abel-sdk";

                                            const abel = new AbelSDK({
                                            appId: 2914159523n, // Abel Mainnet PoC App ID
                                            algorand: AlgorandClient.fromConfig({
                                            algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 },
                                            }),
                                            }); +
                                            + +

                                            You can query assets with multiple size views.

                                            +

                                            To get the "Asset Micro Labels" view for multiple assets:

                                            +
                                            const microData = await abel.getAssetsMicro([312769n, 6547014n, 6587142n, 27165954n]);
                                            // returns
                                            // Map(4) {
                                            // 312769n => { id: 312769n, unitName: 'USDt', decimals: 6n, labels: [ 'pv' ] },
                                            // 6547014n => { id: 6547014n, unitName: 'MCAU', decimals: 5n, labels: [ 'pv' ] },
                                            // 6587142n => { id: 6587142n, unitName: 'MCAG', decimals: 5n, labels: [ 'pv' ] },
                                            // 27165954n => { id: 27165954n, unitName: 'Planets', decimals: 6n, labels: [ 'pv' ] }
                                            // } +
                                            + +

                                            The available asset views are:

                                            + +

                                            To fetch asset data in these views, use the corresponding getXYZ method of the SDK, e.g. getAssetMicroLabels.

                                            +

                                            You can pass in as many asset IDs as you want.

                                            +

                                            Under the hood, Abel uses simulate to fetch multiple assets' data from a single simulate call.

                                            +

                                            The number of assets per simulate request depends on how many AVM resources are required to compose it.

                                            +

                                            You will get the best performance and efficiency if you use the smallest possible view for your needs.

                                            + + + +

                                            The Abel SDK supports arbitrarily large asset lookups.

                                            +

                                            If you request more assets than a single simulate call can provide for that view, parallel simulate requests will be made in order to fetch your data.

                                            +

                                            By default, Abel will use up to 4 simulate "threads", i.e. it will keep up to 4 simulate requests in parallel in order to fetch asset data.

                                            +

                                            You can control this level of concurrency by passing in a concurrency property in the Abel SDK constructor.

                                            +
                                            Note

                                            +The concurrency limit is per-method call, not global. For example, if you have concurrency: 2 and you await two separate getAssetsTiny() methods of more than 128 assets each, there will be 4 simulate requests in flight.

                                            +
                                            +

                                            To instantiate the SDK with write capabilities, pass in your privileged account as writeAccount:

                                            +
                                            import { AlgorandClient } from "@algorandfoundation/algokit-utils";
                                            import { AbelSDK } from "abel-sdk";

                                            const mnemonic = "apple apple ...";
                                            const writeAccount = await algorand.account.fromMnemonic(mnemonic);

                                            const abel = new AbelSDK({
                                            appId: 2914159523n, // Abel Mainnet PoC App ID
                                            algorand: AlgorandClient.fromConfig({
                                            algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 },
                                            }),
                                            writeAccount,
                                            }); +
                                            + +

                                            You can then operate on your label group, as well as any asset:

                                            +
                                            const someAddress = "DTHIRTEENNLSYGLSEXTXC6X4SVDWMFRCPAOAUCXWIXJRCVBWIIGLYARNQE";
                                            const labelId = "13"
                                            // add another operator to your label
                                            await abel.addOperatorToLabel(someAddress, labelId);

                                            // remove operator from your label
                                            await abel.removeOperatorFromLabel(someAddress, labelId);

                                            // add label to asset with ID 1013
                                            await abel.addLabelToAsset(1013n, labelId);

                                            // remove label from asset with ID 1013
                                            await abel.removeLabelFromAsset(1013n, labelId); +
                                            + +

                                            Copyright d13 2025

                                            diff --git a/projects/abel-sdk-v2/docs/modules.html b/projects/abel-sdk-v2/docs/modules.html new file mode 100644 index 0000000..e57393b --- /dev/null +++ b/projects/abel-sdk-v2/docs/modules.html @@ -0,0 +1 @@ +abel-sdk
                                            abel-sdk
                                              Preparing search index...

                                              Copyright d13 2025

                                              diff --git a/projects/abel-sdk-v2/package-lock.json b/projects/abel-sdk-v2/package-lock.json index bb07af8..05dd376 100644 --- a/projects/abel-sdk-v2/package-lock.json +++ b/projects/abel-sdk-v2/package-lock.json @@ -1,18 +1,19 @@ { - "name": "abel-sdk-v2", - "version": "1.0.0", + "name": "abel-sdk", + "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "abel-sdk-v2", - "version": "1.0.0", + "name": "abel-sdk", + "version": "0.1.0", "license": "ISC", "devDependencies": { "@algorandfoundation/algokit-client-generator": "^4.0.9", "@types/node": "^22.13.17", "buffer": "^6.0.3", - "tsx": "^4.19.3" + "tsx": "^4.19.3", + "typedoc": "^0.28.2" }, "peerDependencies": { "@algorandfoundation/algokit-utils": "^7.0.2", @@ -458,6 +459,72 @@ "node": ">=18" } }, + "node_modules/@gerrit0/mini-shiki": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.2.tgz", + "integrity": "sha512-vaZNGhGLKMY14HbF53xxHNgFO9Wz+t5lTlGNpl2N9xFiKQ0I5oIe0vKjU9dh7Nb3Dw6lZ7wqUE0ri+zcdpnK+Q==", + "dev": true, + "dependencies": { + "@shikijs/engine-oniguruma": "^3.2.1", + "@shikijs/langs": "^3.2.1", + "@shikijs/themes": "^3.2.1", + "@shikijs/types": "^3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz", + "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.2.1.tgz", + "integrity": "sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.2.1" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.2.1.tgz", + "integrity": "sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.2.1" + } + }, + "node_modules/@shikijs/types": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz", + "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==", + "dev": true, + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/node": { "version": "22.13.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", @@ -467,6 +534,12 @@ "undici-types": "~6.20.0" } }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true + }, "node_modules/algo-msgpack-with-bigint": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz", @@ -511,6 +584,18 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -539,6 +624,15 @@ "node": "*" } }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -611,6 +705,18 @@ "node": ">=16" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/esbuild": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", @@ -747,6 +853,59 @@ "node": "*" } }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/p-map": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", @@ -759,6 +918,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", @@ -805,6 +973,49 @@ "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", "peer": true }, + "node_modules/typedoc": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.2.tgz", + "integrity": "sha512-9Giuv+eppFKnJ0oi+vxqLM817b/IrIsEMYgy3jj6zdvppAfDqV3d6DXL2vXUg2TnlL62V48th25Zf/tcQKAJdg==", + "dev": true, + "dependencies": { + "@gerrit0/mini-shiki": "^3.2.2", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.7.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 18", + "pnpm": ">= 10" + }, + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true + }, "node_modules/undici-types": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", @@ -816,6 +1027,18 @@ "resolved": "https://registry.npmjs.org/vlq/-/vlq-2.0.4.tgz", "integrity": "sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==", "peer": true + }, + "node_modules/yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } } }, "dependencies": { @@ -1015,6 +1238,72 @@ "dev": true, "optional": true }, + "@gerrit0/mini-shiki": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.2.tgz", + "integrity": "sha512-vaZNGhGLKMY14HbF53xxHNgFO9Wz+t5lTlGNpl2N9xFiKQ0I5oIe0vKjU9dh7Nb3Dw6lZ7wqUE0ri+zcdpnK+Q==", + "dev": true, + "requires": { + "@shikijs/engine-oniguruma": "^3.2.1", + "@shikijs/langs": "^3.2.1", + "@shikijs/themes": "^3.2.1", + "@shikijs/types": "^3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "@shikijs/engine-oniguruma": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz", + "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==", + "dev": true, + "requires": { + "@shikijs/types": "3.2.1", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "@shikijs/langs": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.2.1.tgz", + "integrity": "sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==", + "dev": true, + "requires": { + "@shikijs/types": "3.2.1" + } + }, + "@shikijs/themes": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.2.1.tgz", + "integrity": "sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==", + "dev": true, + "requires": { + "@shikijs/types": "3.2.1" + } + }, + "@shikijs/types": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz", + "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==", + "dev": true, + "requires": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true + }, + "@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, "@types/node": { "version": "22.13.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", @@ -1024,6 +1313,12 @@ "undici-types": "~6.20.0" } }, + "@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true + }, "algo-msgpack-with-bigint": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz", @@ -1056,6 +1351,18 @@ "color-convert": "^2.0.1" } }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -1067,6 +1374,15 @@ "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", "peer": true }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -1113,6 +1429,12 @@ "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, "esbuild": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", @@ -1212,12 +1534,62 @@ "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", "dev": true }, + "linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "requires": { + "uc.micro": "^2.0.0" + } + }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "requires": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + } + }, + "mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, "p-map": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "peer": true }, + "punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true + }, "resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", @@ -1250,6 +1622,32 @@ "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", "peer": true }, + "typedoc": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.2.tgz", + "integrity": "sha512-9Giuv+eppFKnJ0oi+vxqLM817b/IrIsEMYgy3jj6zdvppAfDqV3d6DXL2vXUg2TnlL62V48th25Zf/tcQKAJdg==", + "dev": true, + "requires": { + "@gerrit0/mini-shiki": "^3.2.2", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.7.1" + } + }, + "typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "peer": true + }, + "uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true + }, "undici-types": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", @@ -1261,6 +1659,12 @@ "resolved": "https://registry.npmjs.org/vlq/-/vlq-2.0.4.tgz", "integrity": "sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==", "peer": true + }, + "yaml": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "dev": true } } } diff --git a/projects/abel-sdk-v2/package.json b/projects/abel-sdk-v2/package.json index 8170a70..50b38aa 100644 --- a/projects/abel-sdk-v2/package.json +++ b/projects/abel-sdk-v2/package.json @@ -28,17 +28,19 @@ "scripts": { "clean": "rm -rf dist/ artifacts/ src/generated/", "prebuild": "npm run clean && scripts/update-artifacts.sh", + "docs": "typedoc", "build": "tsc", "prepublishOnly": "npm run build", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", - "license": "ISC", + "license": "MIT", "devDependencies": { "@algorandfoundation/algokit-client-generator": "^4.0.9", "@types/node": "^22.13.17", "buffer": "^6.0.3", - "tsx": "^4.19.3" + "tsx": "^4.19.3", + "typedoc": "^0.28.2" }, "peerDependencies": { "@algorandfoundation/algokit-utils": "^7.0.2", diff --git a/projects/abel-sdk-v2/src/generated/abel-contract-client.ts b/projects/abel-sdk-v2/src/generated/abel-contract-client.ts index 48a4033..db1e9ad 100644 --- a/projects/abel-sdk-v2/src/generated/abel-contract-client.ts +++ b/projects/abel-sdk-v2/src/generated/abel-contract-client.ts @@ -24,7 +24,7 @@ import { SendParams, SendSingleTransactionResult, SendAtomicTransactionComposerR import { Address, encodeAddress, modelsv2, OnApplicationComplete, Transaction, TransactionSigner } from 'algosdk' import SimulateResponse = modelsv2.SimulateResponse -export const APP_SPEC: Arc56Contract = {"arcs":[],"name":"AssetLabeling","structs":{"LabelDescriptor":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"numAssets","type":"uint64"},{"name":"numOperators","type":"uint64"}],"AssetMicro":[{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"}],"AssetMicroLabels":[{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"labels","type":"string[]"}],"AssetTiny":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"}],"AssetTinyLabels":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"labels","type":"string[]"}],"AssetText":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"}],"AssetTextLabels":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"},{"name":"labels","type":"string[]"}],"AssetSmall":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"total","type":"uint64"},{"name":"hasFreeze","type":"bool"},{"name":"hasClawback","type":"bool"},{"name":"labels","type":"string[]"}],"AssetFull":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"},{"name":"total","type":"uint64"},{"name":"decimals","type":"uint8"},{"name":"creator","type":"address"},{"name":"manager","type":"address"},{"name":"freeze","type":"address"},{"name":"clawback","type":"address"},{"name":"reserve","type":"address"},{"name":"defaultFrozen","type":"bool"},{"name":"metadataHash","type":"byte[]"},{"name":"reserveBalance","type":"uint64"},{"name":"labels","type":"string[]"}]},"methods":[{"name":"change_admin","args":[{"name":"new_admin","type":"account"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label","args":[{"name":"id","type":"string"},{"name":"name","type":"string"},{"name":"url","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_label","args":[{"name":"id","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"change_label","args":[{"name":"id","type":"string"},{"name":"name","type":"string"},{"name":"url","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_label","args":[{"name":"id","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"get_label","args":[{"name":"id","type":"string"}],"returns":{"type":"(string,string,uint64,uint64)","struct":"LabelDescriptor"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"log_labels","args":[{"name":"ids","type":"string[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"add_operator_to_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_operator_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_operator_from_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"get_operator_labels","args":[{"name":"operator","type":"account"}],"returns":{"type":"string[]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label_to_asset","args":[{"name":"label","type":"string"},{"name":"asset","type":"asset"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label_to_assets","args":[{"name":"label","type":"string"},{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_label_from_asset","args":[{"name":"label","type":"string"},{"name":"asset","type":"asset"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_asset_label","args":[{"name":"asset_id","type":"uint64"},{"name":"label","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_labels","args":[{"name":"asset","type":"asset"}],"returns":{"type":"string[]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"string[][]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"log_assets_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_micro","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,uint8)","struct":"AssetMicro"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_micro","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_micro_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,uint8,string[])","struct":"AssetMicroLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_micro_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_tiny","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8)","struct":"AssetTiny"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_tiny","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_tiny_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8,string[])","struct":"AssetTinyLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_tiny_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_text","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string)","struct":"AssetText"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_text","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_text_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string,string[])","struct":"AssetTextLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_text_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_small","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8,uint64,bool,bool,string[])","struct":"AssetSmall"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_small","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_full","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[])","struct":"AssetFull"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_full","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}}],"state":{"schema":{"global":{"ints":0,"bytes":1},"local":{"ints":0,"bytes":0}},"keys":{"global":{"admin":{"key":"YWRtaW4=","keyType":"AVMString","valueType":"AVMBytes"}},"local":{},"box":{}},"maps":{"global":{},"local":{},"box":{}}},"source":{"approval":"I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fX2FsZ29weV9lbnRyeXBvaW50X3dpdGhfaW5pdCgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxIDAgMiA4IDQyOTQ5NjcyOTUgNDI5NDk2NzI5NgogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4MDAwMCAiRVJSOk5PRVhJU1QiICIiIDB4MDAwMDAwMDAwMDAwMDAwMCAiYWRtaW4iICJFUlI6TEVOR1RIIiAiRVJSOkVYSVNUUyIgIkVSUjpOT0VNUFRZIiAweDAwMDIgMHgwMCAiRVJSOlVOQVVUSCIgMHgwMDAxIDB4MDAwNQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBzZWxmLmFkbWluID0gVHhuLnNlbmRlcgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICB0eG4gU2VuZGVyCiAgICBhcHBfZ2xvYmFsX3B1dAoKbWFpbl9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX2JhcmVfcm91dGluZ0AzOQogICAgcHVzaGJ5dGVzcyAweDhmMGQ3ZDhlIDB4MzNhMmUyZjcgMHhiNzJiYjc4ZiAweDk3NmNkZTY0IDB4MTdlNjkxYWUgMHg3NjY1ZDJiNCAweDcyNTYxNmU3IDB4ZmFjMWNmMWIgMHg2ZmQ4MTQ4YyAweGI0YzUwYjlmIDB4YTJkZDIyNDcgMHhhMzdkZWExMSAweDEzNWFiMjFlIDB4NjhmMThlZmEgMHg5N2Y0MGE4YSAweGMyZWQ3NDNmIDB4YTY3ZjAzYzIgMHg5N2EzMjEyMyAweGFhZWUwYzYxIDB4YjZjMzlmNjggMHg2MzViZTM2MiAweDcwOTNiMTBkIDB4NzBhYzk5YWQgMHhkOWEyYmQ5YyAweDc2YzY1MjhlIDB4NTFmNzdiZmYgMHgyMGQ5ZjI0YyAweDU1NDBiODBhIDB4MDcxMGU1YzQgMHg2ZjE3Y2RkNSAweDdhNGNlNGI5IDB4MzY2YzUxYWYgMHgzNGE0OGZiYyAweDAzYmE5OGRiIC8vIG1ldGhvZCAiY2hhbmdlX2FkbWluKGFjY291bnQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsKHN0cmluZyxzdHJpbmcsc3RyaW5nKXZvaWQiLCBtZXRob2QgImhhc19sYWJlbChzdHJpbmcpdWludDY0IiwgbWV0aG9kICJjaGFuZ2VfbGFiZWwoc3RyaW5nLHN0cmluZyxzdHJpbmcpdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsKHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfbGFiZWwoc3RyaW5nKShzdHJpbmcsc3RyaW5nLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJsb2dfbGFiZWxzKHN0cmluZ1tdKXZvaWQiLCBtZXRob2QgImFkZF9vcGVyYXRvcl90b19sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJoYXNfb3BlcmF0b3JfbGFiZWwoYWNjb3VudCxzdHJpbmcpdWludDY0IiwgbWV0aG9kICJyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfb3BlcmF0b3JfbGFiZWxzKGFjY291bnQpc3RyaW5nW10iLCBtZXRob2QgImFkZF9sYWJlbF90b19hc3NldChzdHJpbmcsYXNzZXQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsX3RvX2Fzc2V0cyhzdHJpbmcsdWludDY0W10pdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQoc3RyaW5nLGFzc2V0KXZvaWQiLCBtZXRob2QgImhhc19hc3NldF9sYWJlbCh1aW50NjQsc3RyaW5nKXVpbnQ2NCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2xhYmVscyhhc3NldClzdHJpbmdbXSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19sYWJlbHModWludDY0W10pc3RyaW5nW11bXSIsIG1ldGhvZCAibG9nX2Fzc2V0c19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X21pY3JvKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNybyh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4LHN0cmluZ1tdKSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNyb19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RpbnkodWludDY0KShzdHJpbmcsc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c190aW55KHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90aW55X2xhYmVscyh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RpbnlfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90ZXh0KHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcpIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHQodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF9zbWFsbCh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsdWludDY0LGJvb2wsYm9vbCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfc21hbGwodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2Z1bGwodWludDY0KShzdHJpbmcsc3RyaW5nLHN0cmluZyx1aW50NjQsdWludDgsYWRkcmVzcyxhZGRyZXNzLGFkZHJlc3MsYWRkcmVzcyxhZGRyZXNzLGJvb2wsYnl0ZVtdLHVpbnQ2NCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfZnVsbCh1aW50NjRbXSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9jaGFuZ2VfYWRtaW5fcm91dGVANSBtYWluX2FkZF9sYWJlbF9yb3V0ZUA2IG1haW5faGFzX2xhYmVsX3JvdXRlQDcgbWFpbl9jaGFuZ2VfbGFiZWxfcm91dGVAOCBtYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5IG1haW5fZ2V0X2xhYmVsX3JvdXRlQDEwIG1haW5fbG9nX2xhYmVsc19yb3V0ZUAxMSBtYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMiBtYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMyBtYWluX3JlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX3JvdXRlQDE0IG1haW5fZ2V0X29wZXJhdG9yX2xhYmVsc19yb3V0ZUAxNSBtYWluX2FkZF9sYWJlbF90b19hc3NldF9yb3V0ZUAxNiBtYWluX2FkZF9sYWJlbF90b19hc3NldHNfcm91dGVAMTcgbWFpbl9yZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9yb3V0ZUAxOCBtYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOSBtYWluX2dldF9hc3NldF9sYWJlbHNfcm91dGVAMjAgbWFpbl9nZXRfYXNzZXRzX2xhYmVsc19yb3V0ZUAyMSBtYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyIG1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzIG1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNCBtYWluX2dldF9hc3NldF9taWNyb19sYWJlbHNfcm91dGVAMjUgbWFpbl9nZXRfYXNzZXRzX21pY3JvX2xhYmVsc19yb3V0ZUAyNiBtYWluX2dldF9hc3NldF90aW55X3JvdXRlQDI3IG1haW5fZ2V0X2Fzc2V0c190aW55X3JvdXRlQDI4IG1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5IG1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMCBtYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxIG1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyIG1haW5fZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3JvdXRlQDMzIG1haW5fZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19yb3V0ZUAzNCBtYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNSBtYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzYgbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNyBtYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzOAoKbWFpbl9hZnRlcl9pZl9lbHNlQDQzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICBpbnRjXzEgLy8gMAogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTM1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfZnVsbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9mdWxsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX3NtYWxsCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9zbWFsbAogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRzX3RleHRfbGFiZWxzX3JvdXRlQDM0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0X2xhYmVscwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfcm91dGVAMzM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDcwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0CiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RleHQKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueV9sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfdGlueV9yb3V0ZUAyODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueQogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGlueV9yb3V0ZUAyNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF90aW55CiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfbWljcm9fbGFiZWxzX3JvdXRlQDI2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19yb3V0ZUAyNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfbWljcm8KICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM2OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X21pY3JvCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2Fzc2V0c19sYWJlbHMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19sYWJlbHNfcm91dGVAMjE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzMyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfbGFiZWxzX3JvdXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMTcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBoYXNfYXNzZXRfbGFiZWwKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfcm91dGVAMTg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYWRkX2xhYmVsX3RvX2Fzc2V0c19yb3V0ZUAxNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzUKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0cwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfdG9fYXNzZXRfcm91dGVAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjcwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjcwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0CiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9vcGVyYXRvcl9sYWJlbHNfcm91dGVAMTU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9yb3V0ZUAxNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX29wZXJhdG9yX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGFkZF9vcGVyYXRvcl90b19sYWJlbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9sb2dfbGFiZWxzX3JvdXRlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyMQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2xhYmVscwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfbGFiZWxfcm91dGVAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTE2CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2xhYmVsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDgKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiByZW1vdmVfbGFiZWwKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2xhYmVsX3JvdXRlQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTkKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5OQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGNoYW5nZV9sYWJlbAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKbWFpbl9oYXNfbGFiZWxfcm91dGVANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9sYWJlbF9yb3V0ZUA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgyCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODIKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiBhZGRfbGFiZWwKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2FkbWluX3JvdXRlQDU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzcKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTcKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzcKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiBjaGFuZ2VfYWRtaW4KICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDM5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU3CiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBzd2l0Y2ggbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUA0MiBtYWluX2FmdGVyX2lmX2Vsc2VANDMgbWFpbl9hZnRlcl9pZl9lbHNlQDQzIG1haW5fYWZ0ZXJfaWZfZWxzZUA0MyBtYWluX3VwZGF0ZUA0MCBtYWluX2RlbGV0ZUA0MQogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VANDMKCm1haW5fZGVsZXRlQDQxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY5CiAgICAvLyBAYXJjNC5iYXJlbWV0aG9kKGFsbG93X2FjdGlvbnM9KCJEZWxldGVBcHBsaWNhdGlvbiIsKSkKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiBkZWxldGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fdXBkYXRlQDQwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY1CiAgICAvLyBAYXJjNC5iYXJlbWV0aG9kKGFsbG93X2FjdGlvbnM9KCJVcGRhdGVBcHBsaWNhdGlvbiIsKSkKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiB1cGRhdGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fX19hbGdvcHlfZGVmYXVsdF9jcmVhdGVANDI6CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIF9wdXlhX2xpYi5hcmM0LmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQoYXJyYXk6IGJ5dGVzLCBuZXdfaXRlbXNfYnl0ZXM6IGJ5dGVzLCBuZXdfaXRlbXNfY291bnQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQ6CiAgICBwcm90byAzIDEKICAgIGZyYW1lX2RpZyAtMwogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAKICAgIGZyYW1lX2RpZyAtMQogICAgKwogICAgc3dhcAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBkaWcgMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvdmVyIDIKICAgIGZyYW1lX2RpZyAtMwogICAgaW50Y18yIC8vIDIKICAgIGRpZyAyCiAgICBzdWJzdHJpbmczCiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBiemVybwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTMKICAgIGxlbgogICAgZnJhbWVfZGlnIC0zCiAgICB1bmNvdmVyIDMKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgc3dhcAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGR1cAogICAgaW50Y18xIC8vIDAKICAgIHN3YXAKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfZm9yX2hlYWRlckAyOgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAyCiAgICA8CiAgICBieiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2FmdGVyX2ZvckA1CiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAzCiAgICBkdXAKICAgIGNvdmVyIDQKICAgIHVuY292ZXIgMgogICAgcmVwbGFjZTMKICAgIGR1cAogICAgZnJhbWVfYnVyeSAxCiAgICBkaWcgMQogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDMKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZF9mb3JfaGVhZGVyQDIKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfYWZ0ZXJfZm9yQDU6CiAgICBmcmFtZV9kaWcgMAogICAgZnJhbWVfZGlnIDEKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBfcHV5YV9saWIuYXJjNC5keW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnQoYXJyYXlfaXRlbXNfY291bnQ6IHVpbnQ2NCwgYXJyYXlfaGVhZF9hbmRfdGFpbDogYnl0ZXMsIG5ld19pdGVtc19jb3VudDogdWludDY0LCBuZXdfaGVhZF9hbmRfdGFpbDogYnl0ZXMpIC0+IGJ5dGVzOgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnQ6CiAgICBwcm90byA0IDEKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cAogICAgZnJhbWVfZGlnIC0yCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZnJhbWVfZGlnIC00CiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgaW50Y18xIC8vIDAKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDE6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDMKICAgIDwKICAgIGJ6IGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0zCiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfZGlnIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDEKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJAMQoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA0OgogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGZyYW1lX2J1cnkgMAogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJANToKICAgIGZyYW1lX2RpZyA0CiAgICBmcmFtZV9kaWcgMgogICAgPAogICAgYnogZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA4CiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyA0CiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9kaWcgMAogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMQogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGZyYW1lX2J1cnkgNAogICAgYiBkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfZm9yX2hlYWRlckA1CgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfYWZ0ZXJfZm9yQDg6CiAgICBmcmFtZV9kaWcgLTQKICAgIGZyYW1lX2RpZyAtMgogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAwCiAgICBzdWJzdHJpbmczCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuYjJzdHIoYjogYnl0ZXMpIC0+IGJ5dGVzOgpiMnN0cjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1Mi01MwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBiMnN0cihiOiBCeXRlcykgLT4gYXJjNC5TdHJpbmc6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NAogICAgLy8gcmV0dXJuIGFyYzQuU3RyaW5nKFN0cmluZy5mcm9tX2J5dGVzKGIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcudXBkYXRlKCkgLT4gdm9pZDoKdXBkYXRlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY3CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5kZWxldGUoKSAtPiB2b2lkOgpkZWxldGU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzEKICAgIC8vIHNlbGYuYWRtaW5fb25seSgpCiAgICBjYWxsc3ViIGFkbWluX29ubHkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkbWluX29ubHkoKSAtPiB2b2lkOgphZG1pbl9vbmx5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc1CiAgICAvLyBlbnN1cmUoVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluLCBTKCJFUlI6VU5BVVRIIikpCiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYWRtaW4gZXhpc3RzCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZG1pbl9vbmx5X2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc1CiAgICAvLyBlbnN1cmUoVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluLCBTKCJFUlI6VU5BVVRIIikpCiAgICBieXRlYyAxMSAvLyAiRVJSOlVOQVVUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZG1pbl9vbmx5X2FmdGVyX2lmX2Vsc2VAMzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmNoYW5nZV9hZG1pbihuZXdfYWRtaW46IGJ5dGVzKSAtPiB2b2lkOgpjaGFuZ2VfYWRtaW46CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NzctNzgKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGNoYW5nZV9hZG1pbihzZWxmLCBuZXdfYWRtaW46IEFjY291bnQpIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3OQogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgwCiAgICAvLyBzZWxmLmFkbWluID0gbmV3X2FkbWluCiAgICBieXRlYyA1IC8vICJhZG1pbiIKICAgIGZyYW1lX2RpZyAtMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkZF9sYWJlbChpZDogYnl0ZXMsIG5hbWU6IGJ5dGVzLCB1cmw6IGJ5dGVzKSAtPiB2b2lkOgphZGRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODItODMKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbChzZWxmLCBpZDogU3RyaW5nLCBuYW1lOiBTdHJpbmcsIHVybDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDMgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg0CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODUKICAgIC8vIGVuc3VyZShpZCBub3QgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpFWElTVFMiKSkKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYnogYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg1CiAgICAvLyBlbnN1cmUoaWQgbm90IGluIHNlbGYubGFiZWxzLCBTKCJFUlI6RVhJU1RTIikpCiAgICBieXRlYyA3IC8vICJFUlI6RVhJU1RTIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODYKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODYKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgYnl0ZWMgNiAvLyAiRVJSOkxFTkdUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4CiAgICAvLyBhcmM0LlN0cmluZyhuYW1lKSwKICAgIGZyYW1lX2RpZyAtMgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4OQogICAgLy8gYXJjNC5TdHJpbmcodXJsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0xCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4Ny05MgogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBkaWcgMQogICAgbGVuCiAgICBwdXNoaW50IDIwIC8vIDIwCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxNAogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTAKICAgIC8vIGFyYzQuVUludDY0KDApLAogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4Ny05MgogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MQogICAgLy8gYXJjNC5VSW50NjQoMCksCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg3LTkyCiAgICAvLyBzZWxmLmxhYmVsc1tpZF0gPSBMYWJlbERlc2NyaXB0b3IoCiAgICAvLyAgICAgYXJjNC5TdHJpbmcobmFtZSksCiAgICAvLyAgICAgYXJjNC5TdHJpbmcodXJsKSwKICAgIC8vICAgICBhcmM0LlVJbnQ2NCgwKSwKICAgIC8vICAgICBhcmM0LlVJbnQ2NCgwKSwKICAgIC8vICkKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMwogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2xhYmVsKGlkOiBieXRlcykgLT4gdWludDY0OgpoYXNfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTQtOTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBoYXNfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gVUludDY0OiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogaGFzX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKaGFzX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NwogICAgLy8gcmV0dXJuIFVJbnQ2NChpZCBpbiBzZWxmLmxhYmVscykKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk5LTEwMAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgY2hhbmdlX2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcsIG5hbWU6IFN0cmluZywgdXJsOiBTdHJpbmcpIC0+IE5vbmU6ICAjIG5vcWEgQTAwMgogICAgcHJvdG8gMyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAxCiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAyCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBjaGFuZ2VfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAyCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpjaGFuZ2VfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2lkXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5uYW1lID0gYXJjNC5TdHJpbmcobmFtZSkKICAgIGZyYW1lX2RpZyAtMgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGRpZyAyCiAgICBpbnRjXzEgLy8gMAogICAgZGlnIDIKICAgIGV4dHJhY3QzCiAgICBkaWcgMwogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgNAogICAgbGVuCiAgICB1bmNvdmVyIDUKICAgIGRpZyAyCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIHVuY292ZXIgMgogICAgZGlnIDQKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIC0KICAgIHVuY292ZXIgMgogICAgbGVuCiAgICBkaWcgMgogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICArCiAgICBzd2FwCiAgICAtCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcmVwbGFjZTIgMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNQogICAgLy8gbGFiZWxfZGVzY3JpcHRvci51cmwgPSBhcmM0LlN0cmluZyh1cmwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBkaWcgMQogICAgaW50Y18yIC8vIDIKICAgIGV4dHJhY3RfdWludDE2CiAgICB1bmNvdmVyIDIKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIGV4dHJhY3QzCiAgICBzd2FwCiAgICBjb25jYXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDYKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0zCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWwoaWQ6IGJ5dGVzKSAtPiB2b2lkOgpyZW1vdmVfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA4LTEwOQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgcmVtb3ZlX2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcpIC0+IE5vbmU6ICAjIG5vcWEgQTAwMgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTEwCiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTExCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTExCiAgICAvLyBlbnN1cmUoaWQgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMgogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fb3BlcmF0b3JzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGV4dHJhY3QgMTIgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMgogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fb3BlcmF0b3JzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBieXRlYyA4IC8vICJFUlI6Tk9FTVBUWSIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMwogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fYXNzZXRzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGV4dHJhY3QgNCA4IC8vIG9uIGVycm9yOiBJbmRleCBhY2Nlc3MgaXMgb3V0IG9mIGJvdW5kcwogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIGI9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExMwogICAgLy8gZW5zdXJlKHNlbGYubGFiZWxzW2lkXS5udW1fYXNzZXRzID09IDAsIFMoIkVSUjpOT0VNUFRZIikpCiAgICBieXRlYyA4IC8vICJFUlI6Tk9FTVBUWSIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTQKICAgIC8vIGRlbCBzZWxmLmxhYmVsc1tpZF0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2RlbAogICAgcG9wCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfbGFiZWwoaWQ6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNi0xMTcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gTGFiZWxEZXNjcmlwdG9yOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogZ2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKZ2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIHJldHVybiBzZWxmLmxhYmVsc1tpZF0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcubG9nX2xhYmVscyhpZHM6IGJ5dGVzKSAtPiB2b2lkOgpsb2dfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyMS0xMjIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfbGFiZWxzKHNlbGYsIGlkczogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIzCiAgICAvLyBmb3IgX2lkeCwgbGFiZWxfaWQgaW4gdWVudW1lcmF0ZShpZHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpsb2dfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjMKICAgIC8vIGZvciBfaWR4LCBsYWJlbF9pZCBpbiB1ZW51bWVyYXRlKGlkcyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGxvZ19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkaWcgMQogICAgc3dhcAogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZXh0cmFjdDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGxvZyhzZWxmLmxhYmVsc1tsYWJlbF9pZC5uYXRpdmVdKQogICAgZXh0cmFjdCAyIDAKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBsb2dfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2xhYmVsc19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmFkbWluX29yX29wZXJhdG9yX29ubHkobGFiZWw6IGJ5dGVzKSAtPiB2b2lkOgphZG1pbl9vcl9vcGVyYXRvcl9vbmx5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzMC0xMzEKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShzZWxmLCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTMyCiAgICAvLyBpZiBUeG4uc2VuZGVyID09IHNlbGYuYWRtaW46CiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYWRtaW4gZXhpc3RzCiAgICA9PQogICAgYnogYWRtaW5fb3Jfb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzMKICAgIC8vIHJldHVybgogICAgcmV0c3ViCgphZG1pbl9vcl9vcGVyYXRvcl9vbmx5X2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzQKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5vcGVyYXRvcl9vbmx5KGxhYmVsOiBieXRlcykgLT4gdm9pZDoKb3BlcmF0b3Jfb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzYtMTM3CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIG9wZXJhdG9yX29ubHkoc2VsZiwgbGFiZWw6IFN0cmluZykgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzOAogICAgLy8gb3BlcmF0b3JfaW5kZXggPSBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChUeG4uc2VuZGVyLCBsYWJlbCkKICAgIHR4biBTZW5kZXIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIGR1cAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0MAogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDAtMTQxCiAgICAvLyBvcGVyYXRvcl9pbmRleCAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSkKICAgIC8vIGFuZCBvcGVyYXRvcl9pbmRleCAhPSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgIGJ6IG9wZXJhdG9yX29ubHlfYm9vbF9mYWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQxCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgMAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQwLTE0MQogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBieiBvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMwogICAgaW50Y18wIC8vIDEKCm9wZXJhdG9yX29ubHlfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBvcGVyYXRvcl9vbmx5X2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0MgogICAgLy8gUygiRVJSOlVOQVVUSCIpLAogICAgYnl0ZWMgMTEgLy8gIkVSUjpVTkFVVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDc6CiAgICByZXRzdWIKCm9wZXJhdG9yX29ubHlfYm9vbF9mYWxzZUAzOgogICAgaW50Y18xIC8vIDAKICAgIGIgb3BlcmF0b3Jfb25seV9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHVpbnQ2NDoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0NS0xNDYKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGludGNfMSAvLyAwCiAgICBieXRlY18zIC8vICIiCiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDcKICAgIC8vIGlmIG9wZXJhdG9yIG5vdCBpbiBzZWxmLm9wZXJhdG9yczoKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBibnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OAogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OQogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDAKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfYnVyeSAxCiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSAyCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfZm9yX2hlYWRlckAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0OQogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2ZvckA4CiAgICBmcmFtZV9kaWcgMAogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTUwCiAgICAvLyBpZiBzdG9yZWRfbGFiZWwgPT0gbGFiZWw6CiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIC0xCiAgICA9PQogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1MQogICAgLy8gcmV0dXJuIGlkeAogICAgZnJhbWVfZGlnIDIKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUA2OgogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDIKICAgIGIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMwoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2ZvckA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1MgogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZGRfb3BlcmF0b3JfdG9fbGFiZWwob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9vcGVyYXRvcl90b19sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQtMTU1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBhZGRfb3BlcmF0b3JfdG9fbGFiZWwoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTYKICAgIC8vIHNlbGYuYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBhZG1pbl9vcl9vcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTU3CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAxMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NwogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTU4LTE1OQogICAgLy8gIyBjaGVjayBpZiBvcGVyYXRvciBleGlzdHMgYWxyZWFkeQogICAgLy8gaWYgb3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogYWRkX29wZXJhdG9yX3RvX2xhYmVsX2Vsc2VfYm9keUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYyCiAgICAvLyBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjMKICAgIC8vID09IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjItMTYzCiAgICAvLyBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICAvLyA9PSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjQKICAgIC8vIFMoIkVSUjpFWElTVFMiKSwKICAgIGJ5dGVjIDcgLy8gIkVSUjpFWElTVFMiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjctMTY4CiAgICAvLyAjIGFkZCBsYWJlbCB0byBvcGVyYXRvcgogICAgLy8gZXhpc3RpbmcgPSBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjkKICAgIC8vIGV4aXN0aW5nLmFwcGVuZChhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBpbnRjXzAgLy8gMQogICAgY2FsbHN1YiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcwCiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBleGlzdGluZy5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc1LTE3NgogICAgLy8gIyBpbmNyZW1lbnQgbGFiZWwgb3BlcmF0b3JzCiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yID0gc2VsZi5sYWJlbHNbbGFiZWxdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc4CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlICsgVUludDY0KDEpCiAgICBkdXAKICAgIHB1c2hpbnQgMTIgLy8gMTIKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3Ny0xNzkKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDEyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTgwCiAgICAvLyBzZWxmLmxhYmVsc1tsYWJlbF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMQogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgphZGRfb3BlcmF0b3JfdG9fbGFiZWxfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcyLTE3MwogICAgLy8gIyBuZXcgb3BlcmF0b3IsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMgogICAgc3dhcAogICAgYm94X3B1dAogICAgYiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX29wZXJhdG9yX2xhYmVsKG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB1aW50NjQ6Cmhhc19vcGVyYXRvcl9sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODItMTgzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgaGFzX29wZXJhdG9yX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGJ5dGVjXzMgLy8gIiIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODQKICAgIC8vIGVuc3VyZShsYWJlbC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBoYXNfb3BlcmF0b3JfbGFiZWxfYWZ0ZXJfaWZfZWxzZUA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg0CiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKaGFzX29wZXJhdG9yX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODUKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yLCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODYKICAgIC8vIHJldHVybiBVSW50NjQoaWR4ICE9IE5PVF9GT1VORF9LRVkgYW5kIGlkeCAhPSBOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgIT0KICAgIGJ6IGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDMKICAgIGZyYW1lX2RpZyAwCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgIT0KICAgIGJ6IGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDMKICAgIGludGNfMCAvLyAxCgpoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NgogICAgLy8gcmV0dXJuIFVJbnQ2NChpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRSkKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX29wZXJhdG9yX2xhYmVsX2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMSAvLyAwCiAgICBiIGhhc19vcGVyYXRvcl9sYWJlbF9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChvcGVyYXRvcjogYnl0ZXMsIGxhYmVsOiBieXRlcykgLT4gdm9pZDoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg4LTE4OQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWwoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIGludGNfMSAvLyAwCiAgICBkdXBuIDQKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cG4gMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5MAogICAgLy8gc2VsZi5hZG1pbl9vcl9vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGFkbWluX29yX29wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjgKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkzCiAgICAvLyBlbnN1cmUob3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDMyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkzCiAgICAvLyBlbnN1cmUob3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NS0xOTYKICAgIC8vICMgZW5zdXJlIGxhYmVsIGV4aXN0cyBpbiBvcGVyYXRvcgogICAgLy8gbGFiZWxfaWR4ID0gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICBkdXAKICAgIGZyYW1lX2J1cnkgNwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OAogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICBpbnRjIDQgLy8gNDI5NDk2NzI5NQogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTgtMjAwCiAgICAvLyBsYWJlbF9pZHggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk5LTIwMAogICAgLy8gYW5kIGxhYmVsX2lkeAogICAgLy8gIT0gVUludDY0KE5PVF9GT1VORF9LRVkpLCAgIyBrZXkgY2hlY2sgcmVkdW5kYW50LCBjaGVja2VkIGFib3ZlCiAgICBmcmFtZV9kaWcgNwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwMAogICAgLy8gIT0gVUludDY0KE5PVF9GT1VORF9LRVkpLCAgIyBrZXkgY2hlY2sgcmVkdW5kYW50LCBjaGVja2VkIGFib3ZlCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OS0yMDAKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgIT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTgtMjAwCiAgICAvLyBsYWJlbF9pZHggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBpbnRjXzAgLy8gMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjAxCiAgICAvLyBTKCJFUlI6Tk9FWElTVCIpLAogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDQtMjA1CiAgICAvLyAjIGVuc3VyZSBvbmx5IGVtcHR5IGxhYmVscyBjYW4gYmUgbGVmdCBvcGVyYXRvci1sZXNzCiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yID0gc2VsZi5sYWJlbHNbbGFiZWxdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBzd2FwCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGZyYW1lX2J1cnkgMAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNwogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzID4gMSBvciBsYWJlbF9kZXNjcmlwdG9yLm51bV9hc3NldHMgPT0gMCwKICAgIGV4dHJhY3QgMTIgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIHB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKICAgIGI+CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF90cnVlQDYKICAgIGZyYW1lX2RpZyAwCiAgICBleHRyYWN0IDQgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VANwoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF90cnVlQDY6CiAgICBpbnRjXzAgLy8gMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA4CiAgICAvLyBTKCJFUlI6Tk9FTVBUWSIpLAogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTIKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgLSBVSW50NjQoMSkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIHB1c2hpbnQgMTIgLy8gMTIKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgLQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIxMC0yMTMKICAgIC8vICMgZGVjciBvcGVyYXRvciBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgMTIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTQKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0xCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjE2CiAgICAvLyBpZiBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0ubGVuZ3RoID09IDE6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9lbHNlX2JvZHlAMTAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTcKICAgIC8vIGRlbCBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0KICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICByZXRzdWIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Vsc2VfYm9keUAxMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTkKICAgIC8vIG5leHRfbGlzdCA9IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIwLTIyMwogICAgLy8gIyB3YWxrLCBwdXNoIGV2ZXJ5dGhpbmcgZXhjZXB0IGluZGV4CiAgICAvLyAjIHRoaXMgaW1wbGVtZW50YXRpb24gd2Fsa3MgdHdpY2UgKG9uY2UgaW4gZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KQogICAgLy8gIyBjb3VsZCBiZSBtb3JlIGVmZmljaWVudAogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdKToKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDEKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLm9wZXJhdG9ycyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfYnVyeSA1CiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSA2CgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9mb3JfaGVhZGVyQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyMC0yMjMKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIGV4Y2VwdCBpbmRleAogICAgLy8gIyB0aGlzIGltcGxlbWVudGF0aW9uIHdhbGtzIHR3aWNlIChvbmNlIGluIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleCkKICAgIC8vICMgY291bGQgYmUgbW9yZSBlZmZpY2llbnQKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgNgogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2ZvckAxNgogICAgZnJhbWVfZGlnIDEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNgogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICBmcmFtZV9idXJ5IDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjQKICAgIC8vIGlmIGxhYmVsX2lkeCAhPSBpZHg6CiAgICBmcmFtZV9kaWcgNwogICAgIT0KICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9idXJ5IDMKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjUKICAgIC8vIG5leHRfbGlzdC5hcHBlbmQoc3RvcmVkX2xhYmVsKQogICAgZnJhbWVfZGlnIDIKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzAgLy8gMQogICAgY2FsbHN1YiBkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkCiAgICBmcmFtZV9idXJ5IDMKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTQ6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfYnVyeSAyCiAgICBmcmFtZV9kaWcgNgogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgNgogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9mb3JfaGVhZGVyQDExCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9mb3JAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI3CiAgICAvLyBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0gPSBuZXh0X2xpc3QuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgMgogICAgYm94X3B1dAogICAgcmV0c3ViCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDc6CiAgICBpbnRjXzEgLy8gMAogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX21lcmdlQDgKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMSAvLyAwCiAgICBiIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VANAoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9vcGVyYXRvcl9sYWJlbHMob3BlcmF0b3I6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X29wZXJhdG9yX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjktMjMwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X29wZXJhdG9yX2xhYmVscyhzZWxmLCBvcGVyYXRvcjogQWNjb3VudCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMxCiAgICAvLyBpZiBvcGVyYXRvciBpbiBzZWxmLm9wZXJhdG9yczoKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBnZXRfb3BlcmF0b3JfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzMgogICAgLy8gcmV0dXJuIHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICByZXRzdWIKCmdldF9vcGVyYXRvcl9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMzLTIzNAogICAgLy8gIyByZXR1cm4gZW1wdHkgbGlzdAogICAgLy8gcmV0dXJuIGVtcHR5X2xpc3QoKQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0OiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpnZXRfYXNzZXRfbGFiZWxfaW5kZXg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM2LTIzNwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgoc2VsZiwgYXNzZXQ6IEFzc2V0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIGludGNfMSAvLyAwCiAgICBkdXAKICAgIGJ5dGVjXzMgLy8gIiIKICAgIGR1cAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzOAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDExCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM4CiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMTE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM5CiAgICAvLyBpZiBhc3NldCBub3QgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAxCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJueiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQwCiAgICAvLyByZXR1cm4gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICBpbnRjIDUgLy8gNDI5NDk2NzI5NgogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQxCiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDEKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgMgogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgMwoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDEKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0MgogICAgLy8gaWYgc3RvcmVkX2xhYmVsID09IGxhYmVsOgogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMQogICAgPT0KICAgIGJ6IGdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDMKICAgIC8vIHJldHVybiBpZHgKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANjoKICAgIGZyYW1lX2RpZyAzCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAzCiAgICBiIGdldF9hc3NldF9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDMKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9mb3JAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDQKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2FkZF9sYWJlbF90b19hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6Cl9hZGRfbGFiZWxfdG9fYXNzZXQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ2LTI0NwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfYWRkX2xhYmVsX3RvX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18xIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDgKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0OAogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKX2FkZF9sYWJlbF90b19hc3NldF9hZnRlcl9pZl9lbHNlQDEwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0OQogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTIKICAgIC8vIHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkgPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1MwogICAgLy8gUygiRVJSOkVYSVNUUyIpLAogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTUtMjU2CiAgICAvLyAjIGFkZCBsYWJlbCB0byBhc3NldAogICAgLy8gZXhpc3RpbmcgPSBzZWxmLmFzc2V0c1thc3NldF0uY29weSgpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjU3CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0yCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgaW50Y18wIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1OAogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gZXhpc3RpbmcuY29weSgpCiAgICBkaWcgMQogICAgYm94X2RlbAogICAgcG9wCiAgICBib3hfcHV0CgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjMtMjY0CiAgICAvLyAjIGluY3IgYXNzZXQgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tsYWJlbF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjYKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIGR1cAogICAgcHVzaGludCA0IC8vIDQKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2NS0yNjcKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjgKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjYwLTI2MQogICAgLy8gIyBuZXcgYXNzZXQsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLmFzc2V0c1thc3NldF0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICBiIF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0KGxhYmVsOiBieXRlcywgYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3MC0yNzEKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzIKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjczCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIGFzc2V0KQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2FkZF9sYWJlbF90b19hc3NldAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0cyhsYWJlbDogYnl0ZXMsIGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9sYWJlbF90b19hc3NldHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc1LTI3OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX2xhYmVsX3RvX2Fzc2V0cygKICAgIC8vICAgICBzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XQogICAgLy8gKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc5CiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4MAogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDAKCmFkZF9sYWJlbF90b19hc3NldHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4MAogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgxCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIEFzc2V0KGFzc2V0Lm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBjYWxsc3ViIF9hZGRfbGFiZWxfdG9fYXNzZXQKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgYWRkX2xhYmVsX3RvX2Fzc2V0c19mb3JfaGVhZGVyQDEKCmFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWxfZnJvbV9hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6CnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4My0yODQKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18xIC8vIDAKICAgIGR1cG4gMwogICAgYnl0ZWNfMyAvLyAiIgogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg1CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg1CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gc2VsZi5vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBjYWxsc3ViIG9wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyODkKICAgIC8vIGZvdW5kID0gRmFsc2UKICAgIGludGNfMSAvLyAwCiAgICBmcmFtZV9idXJ5IDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTAKICAgIC8vIGlmIHNlbGYuYXNzZXRzW2Fzc2V0XS5sZW5ndGggPT0gMToKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlANQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5MQogICAgLy8gaWYgc2VsZi5hc3NldHNbYXNzZXRdWzBdID09IGxhYmVsOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGR1cAogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgYXNzZXJ0IC8vIEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBkdXAKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMgogICAgPT0KICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBkZWwgc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkzCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMCAvLyAxCiAgICBmcmFtZV9idXJ5IDYKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgZnJhbWVfZGlnIDYKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzA4CiAgICAvLyBlbnN1cmUoZm91bmQsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMC0zMTEKICAgIC8vICMgZGVjciBhc3NldCBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMwogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDQgLy8gNAogICAgZXh0cmFjdF91aW50NjQKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzEyLTMxNAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNQogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjk1CiAgICAvLyBmb3VuZCA9IEZhbHNlCiAgICBpbnRjXzEgLy8gMAogICAgZnJhbWVfYnVyeSA2CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTMKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5NwogICAgLy8gbmV4dF9saXN0ID0gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTgtMzAwCiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyB0byBuZXcgYm94IGV4Y2VwdCBsYWJlbAogICAgLy8gIyBzYXZlICRmb3VuZCB0byB0aHJvdyBpZiBub3QgZm91bmQKICAgIC8vIGZvciBfaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18xIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZm9yX2hlYWRlckA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5OC0zMDAKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIHRvIG5ldyBib3ggZXhjZXB0IGxhYmVsCiAgICAvLyAjIHNhdmUgJGZvdW5kIHRvIHRocm93IGlmIG5vdCBmb3VuZAogICAgLy8gZm9yIF9pZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2ZvckAxMgogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDEKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCAhPSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTIKICAgICE9CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlAOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwMgogICAgLy8gbmV4dF9saXN0LmFwcGVuZChzdG9yZWRfbGFiZWwpCiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMCAvLyAxCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQKICAgIGZyYW1lX2J1cnkgMQoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMDoKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Zvcl9oZWFkZXJANgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzA0CiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMCAvLyAxCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfZm9yQDEyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNgogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgMQogICAgYm94X3B1dAogICAgYiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDEzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2Fzc2V0X2xhYmVsKGFzc2V0X2lkOiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfYXNzZXRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE3LTMxOAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19hc3NldF9sYWJlbChzZWxmLCBhc3NldF9pZDogVUludDY0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjAKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9hc3NldF9sYWJlbF9pbmRleAogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzIxCiAgICAvLyBpZiBpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRToKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMgogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18wIC8vIDEKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjMKICAgIC8vIHJldHVybiBVSW50NjQoMCkKICAgIGludGNfMSAvLyAwCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNS0zMjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxzKHNlbGYsIGFzc2V0OiBBc3NldCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI3CiAgICAvLyBpZiBhc3NldCBpbiBzZWxmLmFzc2V0czoKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGdldF9hc3NldF9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI4CiAgICAvLyByZXR1cm4gc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgc3dhcAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyOS0zMzAKICAgIC8vICMgcmV0dXJuIGVtcHR5CiAgICAvLyByZXR1cm4gZW1wdHlfbGlzdCgpCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2Fzc2V0c19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzMyLTMzNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfbGFiZWxzKAogICAgLy8gICAgIHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdCiAgICAvLyApIC0+IGFyYzQuRHluYW1pY0FycmF5W0xhYmVsTGlzdF06CiAgICBwcm90byAxIDEKICAgIGludGNfMSAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM2CiAgICAvLyBvdXQgPSBhcmM0LkR5bmFtaWNBcnJheVtMYWJlbExpc3RdKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM3CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c19sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbGFiZWxzX2FmdGVyX2ZvckA3CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzgKICAgIC8vIGFzc2V0ID0gQXNzZXQoYXNzZXRfaWQubmF0aXZlKQogICAgZXh0cmFjdF91aW50NjQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzkKICAgIC8vIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzOgogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDAKICAgIC8vIG91dC5hcHBlbmQoc2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzAgLy8gMQogICAgdW5jb3ZlciAzCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudAogICAgZnJhbWVfYnVyeSAxCgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9pZl9lbHNlQDU6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbGFiZWxzX2Vsc2VfYm9keUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0MgogICAgLy8gb3V0LmFwcGVuZChlbXB0eV9saXN0KCkpCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzAgLy8gMQogICAgcHVzaGJ5dGVzIDB4MDAwMjAwMDAKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50CiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1CgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDMKICAgIC8vIHJldHVybiBvdXQKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19hc3NldHNfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmxvZ19hc3NldHNfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NS0zNDYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfYXNzZXRzX2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgaW50Y18xIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpsb2dfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQ3CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfZm9yQDcKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OAogICAgLy8gYXNzZXQgPSBBc3NldChhc3NldF9pZC5uYXRpdmUpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OQogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBsb2dfYXNzZXRzX2xhYmVsc19lbHNlX2JvZHlANAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1MAogICAgLy8gbG9nKHNlbGYuYXNzZXRzW2Fzc2V0XSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBsb2cKCmxvZ19hc3NldHNfbGFiZWxzX2FmdGVyX2lmX2Vsc2VANToKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGxvZ19hc3NldHNfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTIKICAgIC8vIGxvZyhlbXB0eV9saXN0KCkpCiAgICBsb2cKICAgIGIgbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1Cgpsb2dfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzYwLTM2MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjQKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjUKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjMtMzY2CiAgICAvLyByZXR1cm4gQXNzZXRNaWNybygKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIC8vICkKICAgIHB1c2hieXRlcyAweDAwMDMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm8oYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF9taWNybzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjgtMzY5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm8oYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNybwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c19taWNybyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM3Mi0zNzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX21pY3JvKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c19taWNyb19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzUKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm8KICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c19taWNyb19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzktMzgwCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODMKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODQKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODUKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9tZXJnZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4Mi0zODYKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzKAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBmcmFtZV9kaWcgMQogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX3Rlcm5hcnlfZmFsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm9fbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4OC0zODkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX21pY3JvX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTItMzkzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTQKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk1CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk5LTQwMAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDAzCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwNAogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwNQogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwMi00MDYKICAgIC8vIHJldHVybiBBc3NldFRpbnkoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIC8vICkKICAgIGRpZyAyCiAgICBsZW4KICAgIHB1c2hpbnQgNSAvLyA1CiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X3RpbnkoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90aW55OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwOC00MDkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfdGlueShzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldFRpbnk6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTAKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfdGlueShhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfdGlueShhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyLTQxMwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGlueShzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMSAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDAKCmdldF9hc3NldHNfdGlueV9mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDE0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c190aW55X2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNQogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90aW55KGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnkKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX3RpbnlfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RpbnlfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxOS00MjAKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgX2dldF9hc3NldF90aW55X2xhYmVscyhzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldFRpbnlMYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjMKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI0CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI1CiAgICAvLyBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlY2ltYWxzCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBkdXAKICAgIGJpdGxlbgogICAgaW50Y18zIC8vIDgKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIGV4dHJhY3QgNyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI2CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfdGlueV9sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIyLTQyNwogICAgLy8gcmV0dXJuIEFzc2V0VGlueUxhYmVscygKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDcgLy8gNwogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNwogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIGIgX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGlueV9sYWJlbHMoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjktNDMwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGlueUxhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzMQogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RpbnlfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGlueV9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMzLTQzNAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzNgogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55X2xhYmVscwogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGlueV9sYWJlbHNfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RpbnlfbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90ZXh0KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQwLTQ0MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHQoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUZXh0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ0CiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NQogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NgogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDMtNDQ3CiAgICAvLyByZXR1cm4gQXNzZXRUZXh0KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDYgLy8gNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNgogICAgc3dhcAogICAgY29uY2F0CiAgICBkaWcgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ5LTQ1MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0KHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MQogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0KGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0KGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTMtNDU0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190ZXh0KHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDU1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzEgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDU2CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGV4dF9hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYwLTQ2MQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2NAogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjUKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjYKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDY3CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9mYWxzZUAyCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYzLTQ2OAogICAgLy8gcmV0dXJuIEFzc2V0VGV4dExhYmVscygKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gOAogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwOAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAyCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIGxlbgogICAgdW5jb3ZlciAyCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMSAvLyAweDAwMDAKICAgIGIgX2dldF9hc3NldF90ZXh0X2xhYmVsc190ZXJuYXJ5X21lcmdlQDMKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXQ6IHVpbnQ2NCkgLT4gYnl0ZXM6CmdldF9hc3NldF90ZXh0X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAtNDcxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0X2xhYmVscyhhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RleHRfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDc0LTQ3NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfdGV4dF9sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzYKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzYKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3NwogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF90ZXh0X2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90ZXh0X2xhYmVscwogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9sYWJlbHNfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF9zbWFsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODEtNDgyCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4NQogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODYKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODcKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODgKICAgIC8vIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFRvdGFsCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5CiAgICAvLyBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRGcmVlemUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5MAogICAgLy8gaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENsYXdiYWNrCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBnbG9iYWwgWmVyb0FkZHJlc3MKICAgICE9CiAgICBieXRlYyAxMCAvLyAweDAwCiAgICBpbnRjXzEgLy8gMAogICAgdW5jb3ZlciAyCiAgICBzZXRiaXQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTEKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9zbWFsbF90ZXJuYXJ5X2ZhbHNlQDIKICAgIGZyYW1lX2RpZyA2CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODQtNDkyCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbCgKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIC8vICAgICBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICAvLyAgICAgaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCAxNiAvLyAxNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxMAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDIKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDQKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDUKICAgIGludGNfMSAvLyAwCiAgICBnZXRiaXQKICAgIHB1c2hpbnQgMTA1IC8vIDEwNQogICAgc3dhcAogICAgc2V0Yml0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfZmFsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18xIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9zbWFsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3NtYWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5NC00OTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5NgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3NtYWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3NtYWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk4LTQ5OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfc21hbGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX3NtYWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwMQogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9zbWFsbAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfc21hbGxfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9mdWxsKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTA1LTUwNgogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzEgLy8gMAogICAgZHVwbiAxMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwOAogICAgLy8gcmVzZXJ2ZV9hY2N0ID0gQWNjb3VudChhc3NldC5yZXNlcnZlLmJ5dGVzKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZHVwCiAgICB1bmNvdmVyIDIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTEKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTAtNTEyCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIC8vIGVsc2UgVUludDY0KDApCiAgICBieiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEwCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIGZyYW1lX2RpZyAxNAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKICAgIGFzc2VydCAvLyBhY2NvdW50IG9wdGVkIGludG8gYXNzZXQKCl9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE1CiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE2CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTcKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTgKICAgIC8vIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFRvdGFsCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBmcmFtZV9idXJ5IDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTkKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIGZyYW1lX2J1cnkgNgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMAogICAgLy8gY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDExCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTIxCiAgICAvLyBtYW5hZ2VyPWFyYzQuQWRkcmVzcyhhc3NldC5tYW5hZ2VyKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE1hbmFnZXIKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjIKICAgIC8vIGZyZWV6ZT1hcmM0LkFkZHJlc3MoYXNzZXQuZnJlZXplKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldEZyZWV6ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMwogICAgLy8gY2xhd2JhY2s9YXJjNC5BZGRyZXNzKGFzc2V0LmNsYXdiYWNrKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENsYXdiYWNrCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDkKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjQKICAgIC8vIHJlc2VydmU9YXJjNC5BZGRyZXNzKGFzc2V0LnJlc2VydmUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMAogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyNQogICAgLy8gZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlZmF1bHRGcm96ZW4KICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMSAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI3CiAgICAvLyBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWV0YWRhdGFIYXNoCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBkdXAKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI2CiAgICAvLyByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOAogICAgLy8gbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSA1CiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDUKICAgIGZyYW1lX2RpZyA1CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNC01MjkKICAgIC8vIHJldHVybiBBc3NldEZ1bGwoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICAvLyAgICAgbWFuYWdlcj1hcmM0LkFkZHJlc3MoYXNzZXQubWFuYWdlciksCiAgICAvLyAgICAgZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgLy8gICAgIGNsYXdiYWNrPWFyYzQuQWRkcmVzcyhhc3NldC5jbGF3YmFjayksCiAgICAvLyAgICAgcmVzZXJ2ZT1hcmM0LkFkZHJlc3MoYXNzZXQucmVzZXJ2ZSksCiAgICAvLyAgICAgZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIC8vICAgICByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIC8vICAgICBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDIKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDE4OCAvLyAxODgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwYmMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDcKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDYKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDExCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMgogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMTMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDkKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAwCiAgICBjb25jYXQKICAgIGRpZyAxCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDgKICAgIGNvbmNhdAogICAgc3dhcAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciA0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzEgLy8gMHgwMDAwCiAgICBiIF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDYKCl9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEyCiAgICAvLyBlbHNlIFVJbnQ2NCgwKQogICAgaW50Y18xIC8vIDAKICAgIGIgX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfbWVyZ2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9mdWxsKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfZnVsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzEtNTMyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMzCiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X2Z1bGwoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF9mdWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2Z1bGwoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c19mdWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNS01MzYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX2Z1bGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAwCgpnZXRfYXNzZXRzX2Z1bGxfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfZnVsbF9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzgKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfZnVsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9mdWxsCiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19mdWxsX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c19mdWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCg==","clear":"I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K"},"bareActions":{"create":["NoOp"],"call":["DeleteApplication","UpdateApplication"]}} as unknown as Arc56Contract +export const APP_SPEC: Arc56Contract = {"arcs":[],"name":"AssetLabeling","structs":{"LabelDescriptor":[{"name":"name","type":"string"},{"name":"url","type":"string"},{"name":"numAssets","type":"uint64"},{"name":"numOperators","type":"uint64"}],"AssetMicro":[{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"}],"AssetMicroLabels":[{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"labels","type":"string[]"}],"AssetTiny":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"}],"AssetTinyLabels":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"labels","type":"string[]"}],"AssetText":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"}],"AssetTextLabels":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"},{"name":"labels","type":"string[]"}],"AssetSmall":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"decimals","type":"uint8"},{"name":"total","type":"uint64"},{"name":"hasFreeze","type":"bool"},{"name":"hasClawback","type":"bool"},{"name":"labels","type":"string[]"}],"AssetFull":[{"name":"name","type":"string"},{"name":"unitName","type":"string"},{"name":"url","type":"string"},{"name":"total","type":"uint64"},{"name":"decimals","type":"uint8"},{"name":"creator","type":"address"},{"name":"manager","type":"address"},{"name":"freeze","type":"address"},{"name":"clawback","type":"address"},{"name":"reserve","type":"address"},{"name":"defaultFrozen","type":"bool"},{"name":"metadataHash","type":"byte[]"},{"name":"reserveBalance","type":"uint64"},{"name":"labels","type":"string[]"}]},"methods":[{"name":"change_admin","args":[{"name":"new_admin","type":"account"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label","args":[{"name":"id","type":"string"},{"name":"name","type":"string"},{"name":"url","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_label","args":[{"name":"id","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"change_label","args":[{"name":"id","type":"string"},{"name":"name","type":"string"},{"name":"url","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_label","args":[{"name":"id","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"get_label","args":[{"name":"id","type":"string"}],"returns":{"type":"(string,string,uint64,uint64)","struct":"LabelDescriptor"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"log_labels","args":[{"name":"ids","type":"string[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"add_operator_to_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_operator_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_operator_from_label","args":[{"name":"operator","type":"account"},{"name":"label","type":"string"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"get_operator_labels","args":[{"name":"operator","type":"account"}],"returns":{"type":"string[]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label_to_asset","args":[{"name":"label","type":"string"},{"name":"asset","type":"asset"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"add_label_to_assets","args":[{"name":"label","type":"string"},{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"remove_label_from_asset","args":[{"name":"label","type":"string"},{"name":"asset","type":"asset"}],"returns":{"type":"void"},"events":[],"actions":{"create":[],"call":["NoOp"]}},{"name":"has_asset_label","args":[{"name":"asset_id","type":"uint64"},{"name":"label","type":"string"}],"returns":{"type":"uint64"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_labels","args":[{"name":"asset","type":"asset"}],"returns":{"type":"string[]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"string[][]"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"log_assets_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_micro","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,uint8)","struct":"AssetMicro"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_micro","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_micro_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,uint8,string[])","struct":"AssetMicroLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_micro_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_tiny","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8)","struct":"AssetTiny"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_tiny","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_tiny_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8,string[])","struct":"AssetTinyLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_tiny_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_text","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string)","struct":"AssetText"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_text","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_text_labels","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string,string[])","struct":"AssetTextLabels"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_text_labels","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_small","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,uint8,uint64,bool,bool,string[])","struct":"AssetSmall"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_small","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_asset_full","args":[{"name":"asset","type":"uint64"}],"returns":{"type":"(string,string,string,uint64,uint8,address,address,address,address,address,bool,byte[],uint64,string[])","struct":"AssetFull"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}},{"name":"get_assets_full","args":[{"name":"assets","type":"uint64[]"}],"returns":{"type":"void"},"events":[],"readonly":true,"actions":{"create":[],"call":["NoOp"]}}],"state":{"schema":{"global":{"ints":0,"bytes":1},"local":{"ints":0,"bytes":0}},"keys":{"global":{"admin":{"key":"YWRtaW4=","keyType":"AVMString","valueType":"AVMBytes"}},"local":{},"box":{}},"maps":{"global":{},"local":{},"box":{}}},"source":{"approval":"I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fX2FsZ29weV9lbnRyeXBvaW50X3dpdGhfaW5pdCgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAwIDEgMiA4IDQyOTQ5NjcyOTUgNDI5NDk2NzI5NgogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4ICJFUlI6Tk9FWElTVCIgMHgwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAiYWRtaW4iICJFUlI6TEVOR1RIIiAiRVJSOkVYSVNUUyIgIkVSUjpOT0VNUFRZIiAweDAwMDIgMHgwMCAiRVJSOlVOQVVUSCIgMHgwMDAxIDB4MDAwNQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjY1CiAgICAvLyBzZWxmLmFkbWluID0gVHhuLnNlbmRlcgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICB0eG4gU2VuZGVyCiAgICBhcHBfZ2xvYmFsX3B1dAoKbWFpbl9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX2JhcmVfcm91dGluZ0AzOQogICAgcHVzaGJ5dGVzcyAweDhmMGQ3ZDhlIDB4MzNhMmUyZjcgMHhiNzJiYjc4ZiAweDk3NmNkZTY0IDB4MTdlNjkxYWUgMHg3NjY1ZDJiNCAweDcyNTYxNmU3IDB4ZmFjMWNmMWIgMHg2ZmQ4MTQ4YyAweGI0YzUwYjlmIDB4YTJkZDIyNDcgMHhhMzdkZWExMSAweDEzNWFiMjFlIDB4NjhmMThlZmEgMHg5N2Y0MGE4YSAweGMyZWQ3NDNmIDB4YTY3ZjAzYzIgMHg5N2EzMjEyMyAweGFhZWUwYzYxIDB4YjZjMzlmNjggMHg2MzViZTM2MiAweDcwOTNiMTBkIDB4NzBhYzk5YWQgMHhkOWEyYmQ5YyAweDc2YzY1MjhlIDB4NTFmNzdiZmYgMHgyMGQ5ZjI0YyAweDU1NDBiODBhIDB4MDcxMGU1YzQgMHg2ZjE3Y2RkNSAweDdhNGNlNGI5IDB4MzY2YzUxYWYgMHgzNGE0OGZiYyAweDAzYmE5OGRiIC8vIG1ldGhvZCAiY2hhbmdlX2FkbWluKGFjY291bnQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsKHN0cmluZyxzdHJpbmcsc3RyaW5nKXZvaWQiLCBtZXRob2QgImhhc19sYWJlbChzdHJpbmcpdWludDY0IiwgbWV0aG9kICJjaGFuZ2VfbGFiZWwoc3RyaW5nLHN0cmluZyxzdHJpbmcpdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsKHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfbGFiZWwoc3RyaW5nKShzdHJpbmcsc3RyaW5nLHVpbnQ2NCx1aW50NjQpIiwgbWV0aG9kICJsb2dfbGFiZWxzKHN0cmluZ1tdKXZvaWQiLCBtZXRob2QgImFkZF9vcGVyYXRvcl90b19sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJoYXNfb3BlcmF0b3JfbGFiZWwoYWNjb3VudCxzdHJpbmcpdWludDY0IiwgbWV0aG9kICJyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbChhY2NvdW50LHN0cmluZyl2b2lkIiwgbWV0aG9kICJnZXRfb3BlcmF0b3JfbGFiZWxzKGFjY291bnQpc3RyaW5nW10iLCBtZXRob2QgImFkZF9sYWJlbF90b19hc3NldChzdHJpbmcsYXNzZXQpdm9pZCIsIG1ldGhvZCAiYWRkX2xhYmVsX3RvX2Fzc2V0cyhzdHJpbmcsdWludDY0W10pdm9pZCIsIG1ldGhvZCAicmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQoc3RyaW5nLGFzc2V0KXZvaWQiLCBtZXRob2QgImhhc19hc3NldF9sYWJlbCh1aW50NjQsc3RyaW5nKXVpbnQ2NCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2xhYmVscyhhc3NldClzdHJpbmdbXSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19sYWJlbHModWludDY0W10pc3RyaW5nW11bXSIsIG1ldGhvZCAibG9nX2Fzc2V0c19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X21pY3JvKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNybyh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHVpbnQ4LHN0cmluZ1tdKSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c19taWNyb19sYWJlbHModWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RpbnkodWludDY0KShzdHJpbmcsc3RyaW5nLHVpbnQ4KSIsIG1ldGhvZCAiZ2V0X2Fzc2V0c190aW55KHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90aW55X2xhYmVscyh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RpbnlfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF90ZXh0KHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcpIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHQodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHVpbnQ2NCkoc3RyaW5nLHN0cmluZyxzdHJpbmcsc3RyaW5nW10pIiwgbWV0aG9kICJnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImdldF9hc3NldF9zbWFsbCh1aW50NjQpKHN0cmluZyxzdHJpbmcsdWludDgsdWludDY0LGJvb2wsYm9vbCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfc21hbGwodWludDY0W10pdm9pZCIsIG1ldGhvZCAiZ2V0X2Fzc2V0X2Z1bGwodWludDY0KShzdHJpbmcsc3RyaW5nLHN0cmluZyx1aW50NjQsdWludDgsYWRkcmVzcyxhZGRyZXNzLGFkZHJlc3MsYWRkcmVzcyxhZGRyZXNzLGJvb2wsYnl0ZVtdLHVpbnQ2NCxzdHJpbmdbXSkiLCBtZXRob2QgImdldF9hc3NldHNfZnVsbCh1aW50NjRbXSl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9jaGFuZ2VfYWRtaW5fcm91dGVANSBtYWluX2FkZF9sYWJlbF9yb3V0ZUA2IG1haW5faGFzX2xhYmVsX3JvdXRlQDcgbWFpbl9jaGFuZ2VfbGFiZWxfcm91dGVAOCBtYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5IG1haW5fZ2V0X2xhYmVsX3JvdXRlQDEwIG1haW5fbG9nX2xhYmVsc19yb3V0ZUAxMSBtYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMiBtYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMyBtYWluX3JlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX3JvdXRlQDE0IG1haW5fZ2V0X29wZXJhdG9yX2xhYmVsc19yb3V0ZUAxNSBtYWluX2FkZF9sYWJlbF90b19hc3NldF9yb3V0ZUAxNiBtYWluX2FkZF9sYWJlbF90b19hc3NldHNfcm91dGVAMTcgbWFpbl9yZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9yb3V0ZUAxOCBtYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOSBtYWluX2dldF9hc3NldF9sYWJlbHNfcm91dGVAMjAgbWFpbl9nZXRfYXNzZXRzX2xhYmVsc19yb3V0ZUAyMSBtYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyIG1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzIG1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNCBtYWluX2dldF9hc3NldF9taWNyb19sYWJlbHNfcm91dGVAMjUgbWFpbl9nZXRfYXNzZXRzX21pY3JvX2xhYmVsc19yb3V0ZUAyNiBtYWluX2dldF9hc3NldF90aW55X3JvdXRlQDI3IG1haW5fZ2V0X2Fzc2V0c190aW55X3JvdXRlQDI4IG1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5IG1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMCBtYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxIG1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyIG1haW5fZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3JvdXRlQDMzIG1haW5fZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19yb3V0ZUAzNCBtYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNSBtYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzYgbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNyBtYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzOAoKbWFpbl9hZnRlcl9pZl9lbHNlQDQzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICBpbnRjXzAgLy8gMAogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfZnVsbF9yb3V0ZUAzODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfZnVsbAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfZnVsbF9yb3V0ZUAzNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9mdWxsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfc21hbGxfcm91dGVAMzY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX3NtYWxsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF9zbWFsbF9yb3V0ZUAzNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MTUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9zbWFsbAogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRzX3RleHRfbGFiZWxzX3JvdXRlQDM0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5MwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0X2xhYmVscwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfcm91dGVAMzM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190ZXh0X3JvdXRlQDMyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c190ZXh0CiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldF90ZXh0X3JvdXRlQDMxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2NgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RleHQKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c190aW55X2xhYmVsc19yb3V0ZUAzMDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueV9sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3JvdXRlQDI5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfdGlueV9yb3V0ZUAyODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDI1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfdGlueQogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfdGlueV9yb3V0ZUAyNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF90aW55CiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9hc3NldHNfbWljcm9fbGFiZWxzX3JvdXRlQDI2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQwMwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19yb3V0ZUAyNToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTkKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19taWNyb19yb3V0ZUAyNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzgxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGdldF9hc3NldHNfbWljcm8KICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X21pY3JvX3JvdXRlQDIzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM3NwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNzcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0X21pY3JvCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2xvZ19hc3NldHNfbGFiZWxzX3JvdXRlQDIyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2Fzc2V0c19sYWJlbHMKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0c19sYWJlbHNfcm91dGVAMjE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzOQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRzX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfYXNzZXRfbGFiZWxzX3JvdXRlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxzCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19hc3NldF9sYWJlbF9yb3V0ZUAxOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyNAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgY2FsbHN1YiBoYXNfYXNzZXRfbGFiZWwKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfcm91dGVAMTg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkwCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXQKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fYWRkX2xhYmVsX3RvX2Fzc2V0c19yb3V0ZUAxNzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyODIKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgyCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0cwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfdG9fYXNzZXRfcm91dGVAMTY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc3CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjc3CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsX3RvX2Fzc2V0CiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2dldF9vcGVyYXRvcl9sYWJlbHNfcm91dGVAMTU6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM1CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMzUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVscwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9yZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9yb3V0ZUAxNDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19vcGVyYXRvcl9sYWJlbF9yb3V0ZUAxMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODgKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgaGFzX29wZXJhdG9yX2xhYmVsCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2FkZF9vcGVyYXRvcl90b19sYWJlbF9yb3V0ZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjAKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2MAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBjYWxsc3ViIGFkZF9vcGVyYXRvcl90b19sYWJlbAogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9sb2dfbGFiZWxzX3JvdXRlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyNwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjcKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgbG9nX2xhYmVscwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9nZXRfbGFiZWxfcm91dGVAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjIKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIGNhbGxzdWIgZ2V0X2xhYmVsCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX3JlbW92ZV9sYWJlbF9yb3V0ZUA5OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTQKICAgIC8vIEBhYmltZXRob2QoKQogICAgY2FsbHN1YiByZW1vdmVfbGFiZWwKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCm1haW5fY2hhbmdlX2xhYmVsX3JvdXRlQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBleHRyYWN0IDIgMAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTA1CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgY2hhbmdlX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2hhc19sYWJlbF9yb3V0ZUA3OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NjMKICAgIC8vIGNsYXNzIEFzc2V0TGFiZWxpbmcoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGV4dHJhY3QgMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTAwCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICBjYWxsc3ViIGhhc19sYWJlbAogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgIHJldHVybgoKbWFpbl9hZGRfbGFiZWxfcm91dGVANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4OAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG5vdCBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBleHRyYWN0IDIgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgYWRkX2xhYmVsCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2NoYW5nZV9hZG1pbl9yb3V0ZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyBjbGFzcyBBc3NldExhYmVsaW5nKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBY2NvdW50cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIGNhbGxzdWIgY2hhbmdlX2FkbWluCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX2JhcmVfcm91dGluZ0AzOToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo2MwogICAgLy8gY2xhc3MgQXNzZXRMYWJlbGluZyhBUkM0Q29udHJhY3QpOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgc3dpdGNoIG1haW5fX19hbGdvcHlfZGVmYXVsdF9jcmVhdGVANDIgbWFpbl9hZnRlcl9pZl9lbHNlQDQzIG1haW5fYWZ0ZXJfaWZfZWxzZUA0MyBtYWluX2FmdGVyX2lmX2Vsc2VANDMgbWFpbl91cGRhdGVANDAgbWFpbl9kZWxldGVANDEKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDQzCgptYWluX2RlbGV0ZUA0MToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3NQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZChhbGxvd19hY3Rpb25zPSgiRGVsZXRlQXBwbGljYXRpb24iLCkpCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZGVsZXRlCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX3VwZGF0ZUA0MDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3MQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZChhbGxvd19hY3Rpb25zPSgiVXBkYXRlQXBwbGljYXRpb24iLCkpCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgdXBkYXRlCiAgICBpbnRjXzEgLy8gMQogICAgcmV0dXJuCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDQyOgogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gY3JlYXRpbmcKICAgIGludGNfMSAvLyAxCiAgICByZXR1cm4KCgovLyBfcHV5YV9saWIuYXJjNC5keW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkKGFycmF5OiBieXRlcywgbmV3X2l0ZW1zX2J5dGVzOiBieXRlcywgbmV3X2l0ZW1zX2NvdW50OiB1aW50NjQpIC0+IGJ5dGVzOgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkOgogICAgcHJvdG8gMyAxCiAgICBmcmFtZV9kaWcgLTMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwCiAgICBmcmFtZV9kaWcgLTEKICAgICsKICAgIHN3YXAKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb3ZlciAyCiAgICBmcmFtZV9kaWcgLTMKICAgIGludGNfMiAvLyAyCiAgICBkaWcgMgogICAgc3Vic3RyaW5nMwogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgYnplcm8KICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0zCiAgICBsZW4KICAgIGZyYW1lX2RpZyAtMwogICAgdW5jb3ZlciAzCiAgICB1bmNvdmVyIDIKICAgIHN1YnN0cmluZzMKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIC0yCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBzd2FwCgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2Zvcl9oZWFkZXJAMjoKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9kaWcgMgogICAgPAogICAgYnogZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZF9hZnRlcl9mb3JANQogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMwogICAgZHVwCiAgICBjb3ZlciA0CiAgICB1bmNvdmVyIDIKICAgIHJlcGxhY2UzCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMQogICAgZGlnIDEKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZnJhbWVfYnVyeSAzCiAgICBiIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWRfZm9yX2hlYWRlckAyCgpkeW5hbWljX2FycmF5X2NvbmNhdF9ieXRlX2xlbmd0aF9oZWFkX2FmdGVyX2ZvckA1OgogICAgZnJhbWVfZGlnIDAKICAgIGZyYW1lX2RpZyAxCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gX3B1eWFfbGliLmFyYzQuZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50KGFycmF5X2l0ZW1zX2NvdW50OiB1aW50NjQsIGFycmF5X2hlYWRfYW5kX3RhaWw6IGJ5dGVzLCBuZXdfaXRlbXNfY291bnQ6IHVpbnQ2NCwgbmV3X2hlYWRfYW5kX3RhaWw6IGJ5dGVzKSAtPiBieXRlczoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50OgogICAgcHJvdG8gNCAxCiAgICBieXRlY18xIC8vICIiCiAgICBkdXAKICAgIGZyYW1lX2RpZyAtMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGZyYW1lX2RpZyAtNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGludGNfMCAvLyAwCgpkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfZm9yX2hlYWRlckAxOgogICAgZnJhbWVfZGlnIDQKICAgIGZyYW1lX2RpZyAzCiAgICA8CiAgICBieiBkeW5hbWljX2FycmF5X2NvbmNhdF9keW5hbWljX2VsZW1lbnRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgY292ZXIgMgogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2RpZyAyCiAgICArCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDEKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JANDoKICAgIGZyYW1lX2RpZyAtMwogICAgbGVuCiAgICBmcmFtZV9idXJ5IDAKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDQKCmR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9mb3JfaGVhZGVyQDU6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIC0xCiAgICBmcmFtZV9kaWcgNAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZnJhbWVfZGlnIDAKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDEKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBmcmFtZV9idXJ5IDQKICAgIGIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2Zvcl9oZWFkZXJANQoKZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50X2FmdGVyX2ZvckA4OgogICAgZnJhbWVfZGlnIC00CiAgICBmcmFtZV9kaWcgLTIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgMQogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTMKICAgIGZyYW1lX2RpZyAzCiAgICBmcmFtZV9kaWcgMAogICAgc3Vic3RyaW5nMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgZnJhbWVfZGlnIC0xCiAgICBmcmFtZV9kaWcgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LmIyc3RyKGI6IGJ5dGVzKSAtPiBieXRlczoKYjJzdHI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTItNTMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgYjJzdHIoYjogQnl0ZXMpIC0+IGFyYzQuU3RyaW5nOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQKICAgIC8vIHJldHVybiBhcmM0LlN0cmluZyhTdHJpbmcuZnJvbV9ieXRlcyhiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgZnJhbWVfZGlnIC0xCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLnVwZGF0ZSgpIC0+IHZvaWQ6CnVwZGF0ZToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo3MwogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZGVsZXRlKCkgLT4gdm9pZDoKZGVsZXRlOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojc3CiAgICAvLyBzZWxmLmFkbWluX29ubHkoKQogICAgY2FsbHN1YiBhZG1pbl9vbmx5CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZG1pbl9vbmx5KCkgLT4gdm9pZDoKYWRtaW5fb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4MQogICAgLy8gZW5zdXJlKFR4bi5zZW5kZXIgPT0gc2VsZi5hZG1pbiwgUygiRVJSOlVOQVVUSCIpKQogICAgdHhuIFNlbmRlcgogICAgaW50Y18wIC8vIDAKICAgIGJ5dGVjIDUgLy8gImFkbWluIgogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFkbWluIGV4aXN0cwogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRtaW5fb25seV9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4MQogICAgLy8gZW5zdXJlKFR4bi5zZW5kZXIgPT0gc2VsZi5hZG1pbiwgUygiRVJSOlVOQVVUSCIpKQogICAgYnl0ZWMgMTEgLy8gIkVSUjpVTkFVVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRtaW5fb25seV9hZnRlcl9pZl9lbHNlQDM6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfYWRtaW4obmV3X2FkbWluOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2FkbWluOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjgzLTg0CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBjaGFuZ2VfYWRtaW4oc2VsZiwgbmV3X2FkbWluOiBBY2NvdW50KSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6ODUKICAgIC8vIHNlbGYuYWRtaW5fb25seSgpCiAgICBjYWxsc3ViIGFkbWluX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo4NgogICAgLy8gc2VsZi5hZG1pbiA9IG5ld19hZG1pbgogICAgYnl0ZWMgNSAvLyAiYWRtaW4iCiAgICBmcmFtZV9kaWcgLTEKICAgIGFwcF9nbG9iYWxfcHV0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZGRfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKYWRkX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojg4LTg5CiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIC8vIGRlZiBhZGRfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZywgbmFtZTogU3RyaW5nLCB1cmw6IFN0cmluZykgLT4gTm9uZTogICMgbm9xYSBBMDAyCiAgICBwcm90byAzIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MAogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkxCiAgICAvLyBlbnN1cmUoaWQgbm90IGluIHNlbGYubGFiZWxzLCBTKCJFUlI6RVhJU1RTIikpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJ6IGFkZF9sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5MQogICAgLy8gZW5zdXJlKGlkIG5vdCBpbiBzZWxmLmxhYmVscywgUygiRVJSOkVYSVNUUyIpKQogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgphZGRfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkyCiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMwogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjkyCiAgICAvLyBlbnN1cmUoaWQuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGJ5dGVjIDYgLy8gIkVSUjpMRU5HVEgiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKYWRkX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5NAogICAgLy8gYXJjNC5TdHJpbmcobmFtZSksCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTUKICAgIC8vIGFyYzQuU3RyaW5nKHVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMQogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTMtOTgKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IExhYmVsRGVzY3JpcHRvcigKICAgIC8vICAgICBhcmM0LlN0cmluZyhuYW1lKSwKICAgIC8vICAgICBhcmM0LlN0cmluZyh1cmwpLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gKQogICAgZGlnIDEKICAgIGxlbgogICAgcHVzaGludCAyMCAvLyAyMAogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwMTQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5Ojk2CiAgICAvLyBhcmM0LlVJbnQ2NCgwKSwKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTMtOTgKICAgIC8vIHNlbGYubGFiZWxzW2lkXSA9IExhYmVsRGVzY3JpcHRvcigKICAgIC8vICAgICBhcmM0LlN0cmluZyhuYW1lKSwKICAgIC8vICAgICBhcmM0LlN0cmluZyh1cmwpLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gICAgIGFyYzQuVUludDY0KDApLAogICAgLy8gKQogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6OTcKICAgIC8vIGFyYzQuVUludDY0KDApLAogICAgYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo5My05OAogICAgLy8gc2VsZi5sYWJlbHNbaWRdID0gTGFiZWxEZXNjcmlwdG9yKAogICAgLy8gICAgIGFyYzQuU3RyaW5nKG5hbWUpLAogICAgLy8gICAgIGFyYzQuU3RyaW5nKHVybCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyAgICAgYXJjNC5VSW50NjQoMCksCiAgICAvLyApCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMwogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTMKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmhhc19sYWJlbChpZDogYnl0ZXMpIC0+IHVpbnQ2NDoKaGFzX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMC0xMDEKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBoYXNfbGFiZWwoc2VsZiwgaWQ6IFN0cmluZykgLT4gVUludDY0OiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMgogICAgLy8gZW5zdXJlKGlkLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGxlbgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGhhc19sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDIKICAgIC8vIGVuc3VyZShpZC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgYnl0ZWMgNiAvLyAiRVJSOkxFTkdUSCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpoYXNfbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwMwogICAgLy8gcmV0dXJuIFVJbnQ2NChpZCBpbiBzZWxmLmxhYmVscykKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5jaGFuZ2VfbGFiZWwoaWQ6IGJ5dGVzLCBuYW1lOiBieXRlcywgdXJsOiBieXRlcykgLT4gdm9pZDoKY2hhbmdlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNS0xMDYKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGNoYW5nZV9sYWJlbChzZWxmLCBpZDogU3RyaW5nLCBuYW1lOiBTdHJpbmcsIHVybDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDMgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwNwogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogY2hhbmdlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKY2hhbmdlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMDkKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tpZF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTAKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubmFtZSA9IGFyYzQuU3RyaW5nKG5hbWUpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBkaWcgMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkaWcgMgogICAgaW50Y18wIC8vIDAKICAgIGRpZyAyCiAgICBleHRyYWN0MwogICAgZGlnIDMKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgZGlnIDQKICAgIGxlbgogICAgdW5jb3ZlciA1CiAgICBkaWcgMgogICAgdW5jb3ZlciAyCiAgICBzdWJzdHJpbmczCiAgICB1bmNvdmVyIDIKICAgIGRpZyA0CiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgdW5jb3ZlciAyCiAgICAtCiAgICB1bmNvdmVyIDIKICAgIGxlbgogICAgZGlnIDIKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgKwogICAgc3dhcAogICAgLQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHJlcGxhY2UyIDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTEKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IudXJsID0gYXJjNC5TdHJpbmcodXJsKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgZGlnIDEKICAgIGludGNfMiAvLyAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgdW5jb3ZlciAyCiAgICBpbnRjXzAgLy8gMAogICAgdW5jb3ZlciAyCiAgICBleHRyYWN0MwogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTEyCiAgICAvLyBzZWxmLmxhYmVsc1tpZF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0zCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMwogICAgc3dhcAogICAgYm94X3B1dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcucmVtb3ZlX2xhYmVsKGlkOiBieXRlcykgLT4gdm9pZDoKcmVtb3ZlX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNC0xMTUKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbChzZWxmLCBpZDogU3RyaW5nKSAtPiBOb25lOiAgIyBub3FhIEEwMDIKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNgogICAgLy8gc2VsZi5hZG1pbl9vbmx5KCkKICAgIGNhbGxzdWIgYWRtaW5fb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNwogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjExNwogICAgLy8gZW5zdXJlKGlkIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTgKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX29wZXJhdG9ycyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBleHRyYWN0IDEyIDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgYj09CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IHJlbW92ZV9sYWJlbF9hZnRlcl9pZl9lbHNlQDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTgKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX29wZXJhdG9ycyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX2Fzc2V0cyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBleHRyYWN0IDQgOCAvLyBvbiBlcnJvcjogSW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCiAgICBiPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMTkKICAgIC8vIGVuc3VyZShzZWxmLmxhYmVsc1tpZF0ubnVtX2Fzc2V0cyA9PSAwLCBTKCJFUlI6Tk9FTVBUWSIpKQogICAgYnl0ZWMgOCAvLyAiRVJSOk5PRU1QVFkiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTIwCiAgICAvLyBkZWwgc2VsZi5sYWJlbHNbaWRdCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9kZWwKICAgIHBvcAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2xhYmVsKGlkOiBieXRlcykgLT4gYnl0ZXM6CmdldF9sYWJlbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjItMTIzCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2xhYmVsKHNlbGYsIGlkOiBTdHJpbmcpIC0+IExhYmVsRGVzY3JpcHRvcjogICMgbm9xYSBBMDAyCiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGVuc3VyZShpZCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IGdldF9sYWJlbF9hZnRlcl9pZl9lbHNlQDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjQKICAgIC8vIGVuc3VyZShpZCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmdldF9sYWJlbF9hZnRlcl9pZl9lbHNlQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTI1CiAgICAvLyByZXR1cm4gc2VsZi5sYWJlbHNbaWRdCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19sYWJlbHMoaWRzOiBieXRlcykgLT4gdm9pZDoKbG9nX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMjctMTI4CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgbG9nX2xhYmVscyhzZWxmLCBpZHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEyOQogICAgLy8gZm9yIF9pZHgsIGxhYmVsX2lkIGluIHVlbnVtZXJhdGUoaWRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKbG9nX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTI5CiAgICAvLyBmb3IgX2lkeCwgbGFiZWxfaWQgaW4gdWVudW1lcmF0ZShpZHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBsb2dfbGFiZWxzX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzIgLy8gMgogICAgKgogICAgZGlnIDEKICAgIHN3YXAKICAgIGV4dHJhY3RfdWludDE2CiAgICBkdXAyCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18yIC8vIDIKICAgICsKICAgIGV4dHJhY3QzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTMwCiAgICAvLyBsb2coc2VsZi5sYWJlbHNbbGFiZWxfaWQubmF0aXZlXSkKICAgIGV4dHJhY3QgMiAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5sYWJlbHMgZW50cnkgZXhpc3RzCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgbG9nX2xhYmVsc19mb3JfaGVhZGVyQDEKCmxvZ19sYWJlbHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5hZG1pbl9vcl9vcGVyYXRvcl9vbmx5KGxhYmVsOiBieXRlcykgLT4gdm9pZDoKYWRtaW5fb3Jfb3BlcmF0b3Jfb25seToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxMzYtMTM3CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIGFkbWluX29yX29wZXJhdG9yX29ubHkoc2VsZiwgbGFiZWw6IFN0cmluZykgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjEzOAogICAgLy8gaWYgVHhuLnNlbmRlciA9PSBzZWxmLmFkbWluOgogICAgdHhuIFNlbmRlcgogICAgaW50Y18wIC8vIDAKICAgIGJ5dGVjIDUgLy8gImFkbWluIgogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFkbWluIGV4aXN0cwogICAgPT0KICAgIGJ6IGFkbWluX29yX29wZXJhdG9yX29ubHlfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTM5CiAgICAvLyByZXR1cm4KICAgIHJldHN1YgoKYWRtaW5fb3Jfb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQwCiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcub3BlcmF0b3Jfb25seShsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6Cm9wZXJhdG9yX29ubHk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQyLTE0MwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBvcGVyYXRvcl9vbmx5KHNlbGYsIGxhYmVsOiBTdHJpbmcpIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDQKICAgIC8vIG9wZXJhdG9yX2luZGV4ID0gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgoVHhuLnNlbmRlciwgbGFiZWwpCiAgICB0eG4gU2VuZGVyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDYKICAgIC8vIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTQ2LTE0NwogICAgLy8gb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9LRVkpCiAgICAvLyBhbmQgb3BlcmF0b3JfaW5kZXggIT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBieiBvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0NwogICAgLy8gYW5kIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE0Ni0xNDcKICAgIC8vIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgLy8gYW5kIG9wZXJhdG9yX2luZGV4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpLAogICAgYnogb3BlcmF0b3Jfb25seV9ib29sX2ZhbHNlQDMKICAgIGludGNfMSAvLyAxCgpvcGVyYXRvcl9vbmx5X2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogb3BlcmF0b3Jfb25seV9hZnRlcl9pZl9lbHNlQDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNDgKICAgIC8vIFMoIkVSUjpVTkFVVEgiKSwKICAgIGJ5dGVjIDExIC8vICJFUlI6VU5BVVRIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCm9wZXJhdG9yX29ubHlfYWZ0ZXJfaWZfZWxzZUA3OgogICAgcmV0c3ViCgpvcGVyYXRvcl9vbmx5X2Jvb2xfZmFsc2VAMzoKICAgIGludGNfMCAvLyAwCiAgICBiIG9wZXJhdG9yX29ubHlfYm9vbF9tZXJnZUA0CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB1aW50NjQ6CmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTEtMTUyCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChzZWxmLCBvcGVyYXRvcjogQWNjb3VudCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBpbnRjXzAgLy8gMAogICAgYnl0ZWNfMSAvLyAiIgogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTUzCiAgICAvLyBpZiBvcGVyYXRvciBub3QgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYm56IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTQKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX0tFWSkKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTUKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgMQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgMgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2Zvcl9oZWFkZXJAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTUKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgMgogICAgZnJhbWVfZGlnIDEKICAgIDwKICAgIGJ6IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9mb3JAOAogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE1NgogICAgLy8gaWYgc3RvcmVkX2xhYmVsID09IGxhYmVsOgogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMQogICAgPT0KICAgIGJ6IGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTcKICAgIC8vIHJldHVybiBpZHgKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VANjoKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDMKCmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleF9hZnRlcl9mb3JAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNTgKICAgIC8vIHJldHVybiBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX29wZXJhdG9yX3RvX2xhYmVsKG9wZXJhdG9yOiBieXRlcywgbGFiZWw6IGJ5dGVzKSAtPiB2b2lkOgphZGRfb3BlcmF0b3JfdG9fbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYwLTE2MQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX29wZXJhdG9yX3RvX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTYyCiAgICAvLyBzZWxmLmFkbWluX29yX29wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgYWRtaW5fb3Jfb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2MwogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMTAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxNjMKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDEwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2NC0xNjUKICAgIC8vICMgY2hlY2sgaWYgb3BlcmF0b3IgZXhpc3RzIGFscmVhZHkKICAgIC8vIGlmIG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzOgogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGFkZF9vcGVyYXRvcl90b19sYWJlbF9lbHNlX2JvZHlAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE2OAogICAgLy8gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTY5CiAgICAvLyA9PSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKSwKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTY4LTE2OQogICAgLy8gc2VsZi5nZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgob3BlcmF0b3IsIGxhYmVsKQogICAgLy8gPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBhZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTcwCiAgICAvLyBTKCJFUlI6RVhJU1RTIiksCiAgICBieXRlYyA3IC8vICJFUlI6RVhJU1RTIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmFkZF9vcGVyYXRvcl90b19sYWJlbF9hZnRlcl9pZl9lbHNlQDY6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTczLTE3NAogICAgLy8gIyBhZGQgbGFiZWwgdG8gb3BlcmF0b3IKICAgIC8vIGV4aXN0aW5nID0gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdLmNvcHkoKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTc1CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3NgogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gZXhpc3RpbmcuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CgphZGRfb3BlcmF0b3JfdG9fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4MS0xODIKICAgIC8vICMgaW5jcmVtZW50IGxhYmVsIG9wZXJhdG9ycwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fb3BlcmF0b3JzLm5hdGl2ZSArIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDEyIC8vIDEyCiAgICBleHRyYWN0X3VpbnQ2NAogICAgaW50Y18xIC8vIDEKICAgICsKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxODMtMTg1CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMgPSBhcmM0LlVJbnQ2NCgKICAgIC8vICAgICBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlICsgVUludDY0KDEpCiAgICAvLyApCiAgICBpdG9iCiAgICByZXBsYWNlMiAxMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE4NgogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTEKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKYWRkX29wZXJhdG9yX3RvX2xhYmVsX2Vsc2VfYm9keUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE3OC0xNzkKICAgIC8vICMgbmV3IG9wZXJhdG9yLCBjcmVhdGUgbmV3IGJveAogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gYXJjNC5EeW5hbWljQXJyYXkoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGNvbmNhdAogICAgYnl0ZWMgOSAvLyAweDAwMDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgYnl0ZWMgMTIgLy8gMHgwMDAxCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIGIgYWRkX29wZXJhdG9yX3RvX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmhhc19vcGVyYXRvcl9sYWJlbChvcGVyYXRvcjogYnl0ZXMsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfb3BlcmF0b3JfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTg4LTE4OQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19vcGVyYXRvcl9sYWJlbChzZWxmLCBvcGVyYXRvcjogQWNjb3VudCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBieXRlY18xIC8vICIiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkwCiAgICAvLyBlbnN1cmUobGFiZWwuYnl0ZXMubGVuZ3RoID09IDIsIFMoIkVSUjpMRU5HVEgiKSkKICAgIGZyYW1lX2RpZyAtMQogICAgbGVuCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogaGFzX29wZXJhdG9yX2xhYmVsX2FmdGVyX2lmX2Vsc2VANwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5MAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBieXRlYyA2IC8vICJFUlI6TEVOR1RIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmhhc19vcGVyYXRvcl9sYWJlbF9hZnRlcl9pZl9lbHNlQDc6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkxCiAgICAvLyBpZHggPSBzZWxmLmdldF9vcGVyYXRvcl9sYWJlbF9pbmRleChvcGVyYXRvciwgbGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTkyCiAgICAvLyByZXR1cm4gVUludDY0KGlkeCAhPSBOT1RfRk9VTkRfS0VZIGFuZCBpZHggIT0gTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgICE9CiAgICBieiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBmcmFtZV9kaWcgMAogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICBieiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9mYWxzZUAzCiAgICBpbnRjXzEgLy8gMQoKaGFzX29wZXJhdG9yX2xhYmVsX2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTIKICAgIC8vIHJldHVybiBVSW50NjQoaWR4ICE9IE5PVF9GT1VORF9LRVkgYW5kIGlkeCAhPSBOT1RfRk9VTkRfVkFMVUUpCiAgICBzd2FwCiAgICByZXRzdWIKCmhhc19vcGVyYXRvcl9sYWJlbF9ib29sX2ZhbHNlQDM6CiAgICBpbnRjXzAgLy8gMAogICAgYiBoYXNfb3BlcmF0b3JfbGFiZWxfYm9vbF9tZXJnZUA0CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcucmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWwob3BlcmF0b3I6IGJ5dGVzLCBsYWJlbDogYnl0ZXMpIC0+IHZvaWQ6CnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5NC0xOTUKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsKHNlbGYsIG9wZXJhdG9yOiBBY2NvdW50LCBsYWJlbDogU3RyaW5nKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiA0CiAgICBieXRlY18xIC8vICIiCiAgICBkdXBuIDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToxOTYKICAgIC8vIHNlbGYuYWRtaW5fb3Jfb3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBhZG1pbl9vcl9vcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk4CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI4CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MTk4CiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDI4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OQogICAgLy8gZW5zdXJlKG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjE5OQogICAgLy8gZW5zdXJlKG9wZXJhdG9yIGluIHNlbGYub3BlcmF0b3JzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAzMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDEtMjAyCiAgICAvLyAjIGVuc3VyZSBsYWJlbCBleGlzdHMgaW4gb3BlcmF0b3IKICAgIC8vIGxhYmVsX2lkeCA9IHNlbGYuZ2V0X29wZXJhdG9yX2xhYmVsX2luZGV4KG9wZXJhdG9yLCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleAogICAgZHVwCiAgICBmcmFtZV9idXJ5IDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDQKICAgIC8vIGxhYmVsX2lkeCAhPSBVSW50NjQoTk9UX0ZPVU5EX1ZBTFVFKQogICAgaW50YyA0IC8vIDQyOTQ5NjcyOTUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA0LTIwNgogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNS0yMDYKICAgIC8vIGFuZCBsYWJlbF9pZHgKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgZnJhbWVfZGlnIDcKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDYKICAgIC8vICE9IFVJbnQ2NChOT1RfRk9VTkRfS0VZKSwgICMga2V5IGNoZWNrIHJlZHVuZGFudCwgY2hlY2tlZCBhYm92ZQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMDUtMjA2CiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgICE9CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjA0LTIwNgogICAgLy8gbGFiZWxfaWR4ICE9IFVJbnQ2NChOT1RfRk9VTkRfVkFMVUUpCiAgICAvLyBhbmQgbGFiZWxfaWR4CiAgICAvLyAhPSBVSW50NjQoTk9UX0ZPVU5EX0tFWSksICAjIGtleSBjaGVjayByZWR1bmRhbnQsIGNoZWNrZWQgYWJvdmUKICAgIGJ6IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfZmFsc2VAMwogICAgaW50Y18xIC8vIDEKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIwNwogICAgLy8gUygiRVJSOk5PRVhJU1QiKSwKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjEwLTIxMQogICAgLy8gIyBlbnN1cmUgb25seSBlbXB0eSBsYWJlbHMgY2FuIGJlIGxlZnQgb3BlcmF0b3ItbGVzcwogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDAKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTMKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA+IDEgb3IgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID09IDAsCiAgICBleHRyYWN0IDEyIDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCiAgICBiPgogICAgYm56IHJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfdHJ1ZUA2CiAgICBmcmFtZV9kaWcgMAogICAgZXh0cmFjdCA0IDggLy8gb24gZXJyb3I6IEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAogICAgYj09CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDcKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfdHJ1ZUA2OgogICAgaW50Y18xIC8vIDEKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2Jvb2xfbWVyZ2VAODoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MgogICAgLy8gaWYgbm90IGNvbmQ6CiAgICBibnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfaWZfZWxzZUAyMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIxNAogICAgLy8gUygiRVJSOk5PRU1QVFkiKSwKICAgIGJ5dGVjIDggLy8gIkVSUjpOT0VNUFRZIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCnJlbW92ZV9vcGVyYXRvcl9mcm9tX2xhYmVsX2FmdGVyX2lmX2Vsc2VAMjA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjE4CiAgICAvLyBsYWJlbF9kZXNjcmlwdG9yLm51bV9vcGVyYXRvcnMubmF0aXZlIC0gVUludDY0KDEpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBwdXNoaW50IDEyIC8vIDEyCiAgICBleHRyYWN0X3VpbnQ2NAogICAgaW50Y18xIC8vIDEKICAgIC0KICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMTYtMjE5CiAgICAvLyAjIGRlY3Igb3BlcmF0b3IgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX29wZXJhdG9ycy5uYXRpdmUgLSBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDEyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIwCiAgICAvLyBzZWxmLmxhYmVsc1tsYWJlbF0gPSBsYWJlbF9kZXNjcmlwdG9yLmNvcHkoKQogICAgZnJhbWVfZGlnIC0xCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMQogICAgc3dhcAogICAgYm94X3B1dAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyMgogICAgLy8gaWYgc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdLmxlbmd0aCA9PSAxOgogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMSAvLyAxCiAgICA9PQogICAgYnogcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZWxzZV9ib2R5QDEwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjIzCiAgICAvLyBkZWwgc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgcmV0c3ViCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9lbHNlX2JvZHlAMTA6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjI1CiAgICAvLyBuZXh0X2xpc3QgPSBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMyAvLyAweDAwMDAKICAgIGZyYW1lX2J1cnkgMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIyNi0yMjkKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIGV4Y2VwdCBpbmRleAogICAgLy8gIyB0aGlzIGltcGxlbWVudGF0aW9uIHdhbGtzIHR3aWNlIChvbmNlIGluIGdldF9vcGVyYXRvcl9sYWJlbF9pbmRleCkKICAgIC8vICMgY291bGQgYmUgbW9yZSBlZmZpY2llbnQKICAgIC8vIGZvciBpZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYub3BlcmF0b3JzW29wZXJhdG9yXSk6CiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAxCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5vcGVyYXRvcnMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgNgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZm9yX2hlYWRlckAxMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMjYtMjI5CiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyBleGNlcHQgaW5kZXgKICAgIC8vICMgdGhpcyBpbXBsZW1lbnRhdGlvbiB3YWxrcyB0d2ljZSAob25jZSBpbiBnZXRfb3BlcmF0b3JfbGFiZWxfaW5kZXgpCiAgICAvLyAjIGNvdWxkIGJlIG1vcmUgZWZmaWNpZW50CiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0pOgogICAgZnJhbWVfZGlnIDYKICAgIGZyYW1lX2RpZyA1CiAgICA8CiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9mb3JAMTYKICAgIGZyYW1lX2RpZyAxCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDYKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZnJhbWVfYnVyeSA0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMwCiAgICAvLyBpZiBsYWJlbF9pZHggIT0gaWR4OgogICAgZnJhbWVfZGlnIDcKICAgICE9CiAgICBmcmFtZV9kaWcgMgogICAgZnJhbWVfYnVyeSAzCiAgICBieiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDE0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjMxCiAgICAvLyBuZXh0X2xpc3QuYXBwZW5kKHN0b3JlZF9sYWJlbCkKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgZnJhbWVfYnVyeSAzCgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9hZnRlcl9pZl9lbHNlQDE0OgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2J1cnkgMgogICAgZnJhbWVfZGlnIDYKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfZm9yX2hlYWRlckAxMQoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYWZ0ZXJfZm9yQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzMwogICAgLy8gc2VsZi5vcGVyYXRvcnNbb3BlcmF0b3JdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIC0yCiAgICBib3hfZGVsCiAgICBwb3AKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIDIKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9mYWxzZUA3OgogICAgaW50Y18wIC8vIDAKICAgIGIgcmVtb3ZlX29wZXJhdG9yX2Zyb21fbGFiZWxfYm9vbF9tZXJnZUA4CgpyZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX2ZhbHNlQDM6CiAgICBpbnRjXzAgLy8gMAogICAgYiByZW1vdmVfb3BlcmF0b3JfZnJvbV9sYWJlbF9ib29sX21lcmdlQDQKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfb3BlcmF0b3JfbGFiZWxzKG9wZXJhdG9yOiBieXRlcykgLT4gYnl0ZXM6CmdldF9vcGVyYXRvcl9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjM1LTIzNgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9vcGVyYXRvcl9sYWJlbHMoc2VsZiwgb3BlcmF0b3I6IEFjY291bnQpIC0+IExhYmVsTGlzdDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzNwogICAgLy8gaWYgb3BlcmF0b3IgaW4gc2VsZi5vcGVyYXRvcnM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X29wZXJhdG9yX2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyMzgKICAgIC8vIHJldHVybiBzZWxmLm9wZXJhdG9yc1tvcGVyYXRvcl0KICAgIGZyYW1lX2RpZyAtMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYub3BlcmF0b3JzIGVudHJ5IGV4aXN0cwogICAgcmV0c3ViCgpnZXRfb3BlcmF0b3JfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjIzOS0yNDAKICAgIC8vICMgcmV0dXJuIGVtcHR5IGxpc3QKICAgIC8vIHJldHVybiBlbXB0eV9saXN0KCkKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9sYWJlbF9pbmRleChhc3NldDogdWludDY0LCBsYWJlbDogYnl0ZXMpIC0+IHVpbnQ2NDoKZ2V0X2Fzc2V0X2xhYmVsX2luZGV4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0Mi0yNDMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KHNlbGYsIGFzc2V0OiBBc3NldCwgbGFiZWw6IFN0cmluZykgLT4gVUludDY0OgogICAgcHJvdG8gMiAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwCiAgICBieXRlY18xIC8vICIiCiAgICBkdXAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDQKICAgIC8vIGVuc3VyZShsYWJlbC5ieXRlcy5sZW5ndGggPT0gMiwgUygiRVJSOkxFTkdUSCIpKQogICAgZnJhbWVfZGlnIC0xCiAgICBsZW4KICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAxMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NAogICAgLy8gZW5zdXJlKGxhYmVsLmJ5dGVzLmxlbmd0aCA9PSAyLCBTKCJFUlI6TEVOR1RIIikpCiAgICBieXRlYyA2IC8vICJFUlI6TEVOR1RIIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDExOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NQogICAgLy8gaWYgYXNzZXQgbm90IGluIHNlbGYuYXNzZXRzOgogICAgZnJhbWVfZGlnIC0yCiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMQogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBibnogZ2V0X2Fzc2V0X2xhYmVsX2luZGV4X2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NgogICAgLy8gcmV0dXJuIFVJbnQ2NChOT1RfRk9VTkRfS0VZKQogICAgaW50YyA1IC8vIDQyOTQ5NjcyOTYKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI0NwogICAgLy8gZm9yIGlkeCwgc3RvcmVkX2xhYmVsIGluIHVlbnVtZXJhdGUoc2VsZi5hc3NldHNbYXNzZXRdKToKICAgIGZyYW1lX2RpZyAxCiAgICBib3hfZ2V0CiAgICBzd2FwCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGZyYW1lX2J1cnkgMAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBmcmFtZV9idXJ5IDIKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDMKCmdldF9hc3NldF9sYWJlbF9pbmRleF9mb3JfaGVhZGVyQDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ3CiAgICAvLyBmb3IgaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGZyYW1lX2RpZyAyCiAgICA8CiAgICBieiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfZm9yQDgKICAgIGZyYW1lX2RpZyAwCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDMKICAgIGludGNfMiAvLyAyCiAgICAqCiAgICBkaWcgMQogICAgc3dhcAogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzIgLy8gMgogICAgKwogICAgZXh0cmFjdDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNDgKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCA9PSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTEKICAgID09CiAgICBieiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfaWZfZWxzZUA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjQ5CiAgICAvLyByZXR1cm4gaWR4CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCmdldF9hc3NldF9sYWJlbF9pbmRleF9hZnRlcl9pZl9lbHNlQDY6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRfbGFiZWxfaW5kZXhfZm9yX2hlYWRlckAzCgpnZXRfYXNzZXRfbGFiZWxfaW5kZXhfYWZ0ZXJfZm9yQDg6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjUwCiAgICAvLyByZXR1cm4gVUludDY0KE5PVF9GT1VORF9WQUxVRSkKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWw6IGJ5dGVzLCBhc3NldDogdWludDY0KSAtPiB2b2lkOgpfYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1Mi0yNTMKICAgIC8vIEBzdWJyb3V0aW5lCiAgICAvLyBkZWYgX2FkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIGludGNfMCAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NAogICAgLy8gZW5zdXJlKG5vdCBhc3NldF9pc19kZWxldGVkKGFzc2V0LmlkKSwgUygiRVJSOk5PRVhJU1QiKSkKICAgIGJ5dGVjXzIgLy8gIkVSUjpOT0VYSVNUIgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzCiAgICAvLyBsb2cobXNnKQogICAgbG9nCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQKICAgIC8vIG9wLmVycigpCiAgICBlcnIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTUKICAgIC8vIGVuc3VyZShsYWJlbCBpbiBzZWxmLmxhYmVscywgUygiRVJSOk5PRVhJU1QiKSkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgYm56IF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxNgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NQogICAgLy8gZW5zdXJlKGxhYmVsIGluIHNlbGYubGFiZWxzLCBTKCJFUlI6Tk9FWElTVCIpKQogICAgYnl0ZWNfMiAvLyAiRVJSOk5PRVhJU1QiCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDMKICAgIC8vIGxvZyhtc2cpCiAgICBsb2cKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NAogICAgLy8gb3AuZXJyKCkKICAgIGVycgoKX2FkZF9sYWJlbF90b19hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI1NgogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSAwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNTkKICAgIC8vIHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkgPT0gVUludDY0KE5PVF9GT1VORF9WQUxVRSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBnZXRfYXNzZXRfbGFiZWxfaW5kZXgKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICA9PQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiBfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2MAogICAgLy8gUygiRVJSOkVYSVNUUyIpLAogICAgYnl0ZWMgNyAvLyAiRVJSOkVYSVNUUyIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VANjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNjItMjYzCiAgICAvLyAjIGFkZCBsYWJlbCB0byBhc3NldAogICAgLy8gZXhpc3RpbmcgPSBzZWxmLmFzc2V0c1thc3NldF0uY29weSgpCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjY0CiAgICAvLyBleGlzdGluZy5hcHBlbmQoYXJjNC5TdHJpbmcobGFiZWwpKQogICAgZnJhbWVfZGlnIC0yCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBmcmFtZV9kaWcgLTIKICAgIGNvbmNhdAogICAgaW50Y18xIC8vIDEKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfYnl0ZV9sZW5ndGhfaGVhZAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI2NQogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gZXhpc3RpbmcuY29weSgpCiAgICBkaWcgMQogICAgYm94X2RlbAogICAgcG9wCiAgICBib3hfcHV0CgpfYWRkX2xhYmVsX3RvX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzAtMjcxCiAgICAvLyAjIGluY3IgYXNzZXQgY291bnQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IgPSBzZWxmLmxhYmVsc1tsYWJlbF0uY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmxhYmVscyBlbnRyeSBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzMKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIGR1cAogICAgcHVzaGludCA0IC8vIDQKICAgIGV4dHJhY3RfdWludDY0CiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3Mi0yNzQKICAgIC8vIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cyA9IGFyYzQuVUludDY0KAogICAgLy8gICAgIGxhYmVsX2Rlc2NyaXB0b3IubnVtX2Fzc2V0cy5uYXRpdmUgKyBVSW50NjQoMSkKICAgIC8vICkKICAgIGl0b2IKICAgIHJlcGxhY2UyIDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzUKICAgIC8vIHNlbGYubGFiZWxzW2xhYmVsXSA9IGxhYmVsX2Rlc2NyaXB0b3IuY29weSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9kZWwKICAgIHBvcAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICByZXRzdWIKCl9hZGRfbGFiZWxfdG9fYXNzZXRfZWxzZV9ib2R5QDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjY3LTI2OAogICAgLy8gIyBuZXcgYXNzZXQsIGNyZWF0ZSBuZXcgYm94CiAgICAvLyBzZWxmLmFzc2V0c1thc3NldF0gPSBhcmM0LkR5bmFtaWNBcnJheShhcmM0LlN0cmluZyhsYWJlbCkpCiAgICBmcmFtZV9kaWcgLTIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMgogICAgY29uY2F0CiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBieXRlYyAxMiAvLyAweDAwMDEKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICBiIF9hZGRfbGFiZWxfdG9fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0KGxhYmVsOiBieXRlcywgYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKYWRkX2xhYmVsX3RvX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI3Ny0yNzgKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIGFkZF9sYWJlbF90b19hc3NldChzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldDogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyNzkKICAgIC8vIHNlbGYub3BlcmF0b3Jfb25seShsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgY2FsbHN1YiBvcGVyYXRvcl9vbmx5CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgwCiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIGFzc2V0KQogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2FkZF9sYWJlbF90b19hc3NldAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuYWRkX2xhYmVsX3RvX2Fzc2V0cyhsYWJlbDogYnl0ZXMsIGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmFkZF9sYWJlbF90b19hc3NldHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjgyLTI4NQogICAgLy8gQGFiaW1ldGhvZCgpCiAgICAvLyBkZWYgYWRkX2xhYmVsX3RvX2Fzc2V0cygKICAgIC8vICAgICBzZWxmLCBsYWJlbDogU3RyaW5nLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XQogICAgLy8gKSAtPiBOb25lOgogICAgcHJvdG8gMiAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg2CiAgICAvLyBzZWxmLm9wZXJhdG9yX29ubHkobGFiZWwpCiAgICBmcmFtZV9kaWcgLTIKICAgIGNhbGxzdWIgb3BlcmF0b3Jfb25seQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmFkZF9sYWJlbF90b19hc3NldHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI4NwogICAgLy8gZm9yIF9pLCBhc3NldCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjg4CiAgICAvLyBzZWxmLl9hZGRfbGFiZWxfdG9fYXNzZXQobGFiZWwsIEFzc2V0KGFzc2V0Lm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgZnJhbWVfZGlnIC0yCiAgICBzd2FwCiAgICBjYWxsc3ViIF9hZGRfbGFiZWxfdG9fYXNzZXQKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgYWRkX2xhYmVsX3RvX2Fzc2V0c19mb3JfaGVhZGVyQDEKCmFkZF9sYWJlbF90b19hc3NldHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5yZW1vdmVfbGFiZWxfZnJvbV9hc3NldChsYWJlbDogYnl0ZXMsIGFzc2V0OiB1aW50NjQpIC0+IHZvaWQ6CnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5MC0yOTEKICAgIC8vIEBhYmltZXRob2QoKQogICAgLy8gZGVmIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0KHNlbGYsIGxhYmVsOiBTdHJpbmcsIGFzc2V0OiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgaW50Y18wIC8vIDAKICAgIGR1cG4gMwogICAgYnl0ZWNfMSAvLyAiIgogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyCiAgICAvLyBpZiBub3QgY29uZDoKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MjkyCiAgICAvLyBlbnN1cmUobGFiZWwgaW4gc2VsZi5sYWJlbHMsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDIwOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5NAogICAgLy8gc2VsZi5vcGVyYXRvcl9vbmx5KGxhYmVsKQogICAgZnJhbWVfZGlnIC0yCiAgICBjYWxsc3ViIG9wZXJhdG9yX29ubHkKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTYKICAgIC8vIGZvdW5kID0gRmFsc2UKICAgIGludGNfMCAvLyAwCiAgICBmcmFtZV9idXJ5IDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weToyOTcKICAgIC8vIGlmIHNlbGYuYXNzZXRzW2Fzc2V0XS5sZW5ndGggPT0gMToKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18xIC8vIDEKICAgID09CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlANQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjI5OAogICAgLy8gaWYgc2VsZi5hc3NldHNbYXNzZXRdWzBdID09IGxhYmVsOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKICAgIGR1cAogICAgZXh0cmFjdCAyIDAKICAgIHN3YXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgYXNzZXJ0IC8vIEluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBkdXAKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAtMgogICAgPT0KICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mjk5CiAgICAvLyBkZWwgc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMwogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzAwCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMSAvLyAxCiAgICBmcmFtZV9idXJ5IDYKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIKICAgIC8vIGlmIG5vdCBjb25kOgogICAgZnJhbWVfZGlnIDYKICAgIGJueiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE1CiAgICAvLyBlbnN1cmUoZm91bmQsIFMoIkVSUjpOT0VYSVNUIikpCiAgICBieXRlY18yIC8vICJFUlI6Tk9FWElTVCIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MwogICAgLy8gbG9nKG1zZykKICAgIGxvZwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0CiAgICAvLyBvcC5lcnIoKQogICAgZXJyCgpyZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDE2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxNy0zMTgKICAgIC8vICMgZGVjciBhc3NldCBjb3VudAogICAgLy8gbGFiZWxfZGVzY3JpcHRvciA9IHNlbGYubGFiZWxzW2xhYmVsXS5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubGFiZWxzIGVudHJ5IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMAogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgZHVwCiAgICBwdXNoaW50IDQgLy8gNAogICAgZXh0cmFjdF91aW50NjQKICAgIGludGNfMSAvLyAxCiAgICAtCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzE5LTMyMQogICAgLy8gbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzID0gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgbGFiZWxfZGVzY3JpcHRvci5udW1fYXNzZXRzLm5hdGl2ZSAtIFVJbnQ2NCgxKQogICAgLy8gKQogICAgaXRvYgogICAgcmVwbGFjZTIgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyMgogICAgLy8gc2VsZi5sYWJlbHNbbGFiZWxdID0gbGFiZWxfZGVzY3JpcHRvci5jb3B5KCkKICAgIGZyYW1lX2RpZyAtMgogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIHN3YXAKICAgIGJveF9wdXQKICAgIHJldHN1YgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzAyCiAgICAvLyBmb3VuZCA9IEZhbHNlCiAgICBpbnRjXzAgLy8gMAogICAgZnJhbWVfYnVyeSA2CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2lmX2Vsc2VAMTMKCnJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Vsc2VfYm9keUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNAogICAgLy8gbmV4dF9saXN0ID0gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDUtMzA3CiAgICAvLyAjIHdhbGssIHB1c2ggZXZlcnl0aGluZyB0byBuZXcgYm94IGV4Y2VwdCBsYWJlbAogICAgLy8gIyBzYXZlICRmb3VuZCB0byB0aHJvdyBpZiBub3QgZm91bmQKICAgIC8vIGZvciBfaWR4LCBzdG9yZWRfbGFiZWwgaW4gdWVudW1lcmF0ZShzZWxmLmFzc2V0c1thc3NldF0pOgogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIHN3YXAKICAgIGR1cAogICAgY292ZXIgMgogICAgZnJhbWVfYnVyeSAwCiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGZyYW1lX2J1cnkgNQogICAgaW50Y18wIC8vIDAKICAgIGZyYW1lX2J1cnkgNAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZm9yX2hlYWRlckA2OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwNS0zMDcKICAgIC8vICMgd2FsaywgcHVzaCBldmVyeXRoaW5nIHRvIG5ldyBib3ggZXhjZXB0IGxhYmVsCiAgICAvLyAjIHNhdmUgJGZvdW5kIHRvIHRocm93IGlmIG5vdCBmb3VuZAogICAgLy8gZm9yIF9pZHgsIHN0b3JlZF9sYWJlbCBpbiB1ZW51bWVyYXRlKHNlbGYuYXNzZXRzW2Fzc2V0XSk6CiAgICBmcmFtZV9kaWcgNAogICAgZnJhbWVfZGlnIDUKICAgIDwKICAgIGJ6IHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2FmdGVyX2ZvckAxMgogICAgZnJhbWVfZGlnIDAKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgNAogICAgaW50Y18yIC8vIDIKICAgICoKICAgIGRpZyAxCiAgICBzd2FwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMiAvLyAyCiAgICArCiAgICBleHRyYWN0MwogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMDgKICAgIC8vIGlmIHN0b3JlZF9sYWJlbCAhPSBsYWJlbDoKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgLTIKICAgICE9CiAgICBieiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9lbHNlX2JvZHlAOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMwOQogICAgLy8gbmV4dF9saXN0LmFwcGVuZChzdG9yZWRfbGFiZWwpCiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDIKICAgIGludGNfMSAvLyAxCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2J5dGVfbGVuZ3RoX2hlYWQKICAgIGZyYW1lX2J1cnkgMQoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMDoKICAgIGZyYW1lX2RpZyA0CiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSA0CiAgICBiIHJlbW92ZV9sYWJlbF9mcm9tX2Fzc2V0X2Zvcl9oZWFkZXJANgoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfZWxzZV9ib2R5QDk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzExCiAgICAvLyBmb3VuZCA9IFRydWUKICAgIGludGNfMSAvLyAxCiAgICBmcmFtZV9idXJ5IDYKICAgIGIgcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfaWZfZWxzZUAxMAoKcmVtb3ZlX2xhYmVsX2Zyb21fYXNzZXRfYWZ0ZXJfZm9yQDEyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMxMwogICAgLy8gc2VsZi5hc3NldHNbYXNzZXRdID0gbmV4dF9saXN0LmNvcHkoKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICBmcmFtZV9kaWcgMQogICAgYm94X3B1dAogICAgYiByZW1vdmVfbGFiZWxfZnJvbV9hc3NldF9hZnRlcl9pZl9lbHNlQDEzCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuaGFzX2Fzc2V0X2xhYmVsKGFzc2V0X2lkOiB1aW50NjQsIGxhYmVsOiBieXRlcykgLT4gdWludDY0OgpoYXNfYXNzZXRfbGFiZWw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI0LTMyNQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGhhc19hc3NldF9sYWJlbChzZWxmLCBhc3NldF9pZDogVUludDY0LCBsYWJlbDogU3RyaW5nKSAtPiBVSW50NjQ6CiAgICBwcm90byAyIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMjcKICAgIC8vIGlkeCA9IHNlbGYuZ2V0X2Fzc2V0X2xhYmVsX2luZGV4KGFzc2V0LCBsYWJlbCkKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIGdldF9hc3NldF9sYWJlbF9pbmRleAogICAgZHVwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzI4CiAgICAvLyBpZiBpZHggIT0gTk9UX0ZPVU5EX0tFWSBhbmQgaWR4ICE9IE5PVF9GT1VORF9WQUxVRToKICAgIGludGMgNSAvLyA0Mjk0OTY3Mjk2CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgZnJhbWVfZGlnIDAKICAgIGludGMgNCAvLyA0Mjk0OTY3Mjk1CiAgICAhPQogICAgYnogaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMyOQogICAgLy8gcmV0dXJuIFVJbnQ2NCgxKQogICAgaW50Y18xIC8vIDEKICAgIHN3YXAKICAgIHJldHN1YgoKaGFzX2Fzc2V0X2xhYmVsX2FmdGVyX2lmX2Vsc2VAMzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozMzAKICAgIC8vIHJldHVybiBVSW50NjQoMCkKICAgIGludGNfMCAvLyAwCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzMi0zMzMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbGFiZWxzKHNlbGYsIGFzc2V0OiBBc3NldCkgLT4gTGFiZWxMaXN0OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM0CiAgICAvLyBpZiBhc3NldCBpbiBzZWxmLmFzc2V0czoKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IGdldF9hc3NldF9sYWJlbHNfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM1CiAgICAvLyByZXR1cm4gc2VsZi5hc3NldHNbYXNzZXRdCiAgICBmcmFtZV9kaWcgMAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwogICAgc3dhcAogICAgcmV0c3ViCgpnZXRfYXNzZXRfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjMzNi0zMzcKICAgIC8vICMgcmV0dXJuIGVtcHR5CiAgICAvLyByZXR1cm4gZW1wdHlfbGlzdCgpCiAgICBzd2FwCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiBieXRlczoKZ2V0X2Fzc2V0c19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzM5LTM0MgogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfbGFiZWxzKAogICAgLy8gICAgIHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdCiAgICAvLyApIC0+IGFyYzQuRHluYW1pY0FycmF5W0xhYmVsTGlzdF06CiAgICBwcm90byAxIDEKICAgIGludGNfMCAvLyAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQzCiAgICAvLyBvdXQgPSBhcmM0LkR5bmFtaWNBcnJheVtMYWJlbExpc3RdKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzQ0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c19sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0NAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbGFiZWxzX2FmdGVyX2ZvckA3CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDUKICAgIC8vIGFzc2V0ID0gQXNzZXQoYXNzZXRfaWQubmF0aXZlKQogICAgZXh0cmFjdF91aW50NjQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDYKICAgIC8vIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzOgogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogZ2V0X2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNDcKICAgIC8vIG91dC5hcHBlbmQoc2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBieXRlYyA5IC8vIDB4MDAwMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzEgLy8gMQogICAgdW5jb3ZlciAzCiAgICBjYWxsc3ViIGR5bmFtaWNfYXJyYXlfY29uY2F0X2R5bmFtaWNfZWxlbWVudAogICAgZnJhbWVfYnVyeSAxCgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9pZl9lbHNlQDU6CiAgICBmcmFtZV9kaWcgMwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMwogICAgYiBnZXRfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbGFiZWxzX2Vsc2VfYm9keUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM0OQogICAgLy8gb3V0LmFwcGVuZChlbXB0eV9saXN0KCkpCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIHN3YXAKICAgIGV4dHJhY3QgMiAwCiAgICBpbnRjXzEgLy8gMQogICAgcHVzaGJ5dGVzIDB4MDAwMjAwMDAKICAgIGNhbGxzdWIgZHluYW1pY19hcnJheV9jb25jYXRfZHluYW1pY19lbGVtZW50CiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1CgpnZXRfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTAKICAgIC8vIHJldHVybiBvdXQKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmxvZ19hc3NldHNfbGFiZWxzKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmxvZ19hc3NldHNfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1Mi0zNTMKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBsb2dfYXNzZXRzX2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgaW50Y18wIC8vIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTQKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpsb2dfYXNzZXRzX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzU0CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgMQogICAgPAogICAgYnogbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfZm9yQDcKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NQogICAgLy8gYXNzZXQgPSBBc3NldChhc3NldF9pZC5uYXRpdmUpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NgogICAgLy8gaWYgYXNzZXQgaW4gc2VsZi5hc3NldHM6CiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBsb2dfYXNzZXRzX2xhYmVsc19lbHNlX2JvZHlANAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM1NwogICAgLy8gbG9nKHNlbGYuYXNzZXRzW2Fzc2V0XSkKICAgIGZyYW1lX2RpZyAwCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCiAgICBsb2cKCmxvZ19hc3NldHNfbGFiZWxzX2FmdGVyX2lmX2Vsc2VANToKICAgIGZyYW1lX2RpZyAyCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAyCiAgICBiIGxvZ19hc3NldHNfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKbG9nX2Fzc2V0c19sYWJlbHNfZWxzZV9ib2R5QDQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDkKICAgIC8vIHJldHVybiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlN0cmluZ10oKQogICAgYnl0ZWNfMyAvLyAweDAwMDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNTkKICAgIC8vIGxvZyhlbXB0eV9saXN0KCkpCiAgICBsb2cKICAgIGIgbG9nX2Fzc2V0c19sYWJlbHNfYWZ0ZXJfaWZfZWxzZUA1Cgpsb2dfYXNzZXRzX2xhYmVsc19hZnRlcl9mb3JANzoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfbWljcm8oYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzY3LTM2OAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0TWljcm86CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozNjkKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfbWljcm9fYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcwCiAgICAvLyByZXR1cm4gQXNzZXRNaWNyby5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIHJldHN1YgoKX2dldF9hc3NldF9taWNyb19hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzczCiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc0CiAgICAvLyBkZWNpbWFscz1hcmM0LlVJbnQ4KGFzc2V0LmRlY2ltYWxzKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlY2ltYWxzCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBpdG9iCiAgICBkdXAKICAgIGJpdGxlbgogICAgaW50Y18zIC8vIDgKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIGV4dHJhY3QgNyAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzcyLTM3NQogICAgLy8gcmV0dXJuIEFzc2V0TWljcm8oCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyApCiAgICBwdXNoYnl0ZXMgMHgwMDAzCiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X21pY3JvKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm86CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc3LTM3OAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF9taWNybyhzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldE1pY3JvOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzc5CiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X21pY3JvKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm8KICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfbWljcm8oYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c19taWNybzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozODEtMzgyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNybyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4MwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmdldF9hc3NldHNfbWljcm9fZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM4MwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfbWljcm9fYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg0CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvKGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X21pY3JvCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c19taWNyb19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF9taWNyb19sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzg4LTM4OQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldE1pY3JvTGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6MzkwCiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTEKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzLmZyb21fYnl0ZXMoYiIiKQogICAgYnl0ZWNfMSAvLyAweAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTozOTQKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5NQogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6Mzk2CiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDEKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9mYWxzZUA0CiAgICBmcmFtZV9kaWcgMQogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuYXNzZXRzIGVudHJ5IGV4aXN0cwoKX2dldF9hc3NldF9taWNyb19sYWJlbHNfdGVybmFyeV9tZXJnZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5My0zOTcKICAgIC8vIHJldHVybiBBc3NldE1pY3JvTGFiZWxzKAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDAKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgYnl0ZWMgMTMgLy8gMHgwMDA1CiAgICBmcmFtZV9kaWcgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X21pY3JvX2xhYmVsc190ZXJuYXJ5X21lcmdlQDUKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfbWljcm9fbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjM5OS00MDAKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfbWljcm9fbGFiZWxzKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0TWljcm9MYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDEKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfbWljcm9fbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfbWljcm9fbGFiZWxzCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX21pY3JvX2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDMtNDA0CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19taWNyb19sYWJlbHMoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MDUKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c19taWNyb19sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDA2CiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X21pY3JvX2xhYmVscyhhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9taWNyb19sYWJlbHMKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX21pY3JvX2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfbWljcm9fbGFiZWxzX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55KGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X3Rpbnk6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEwLTQxMQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEyCiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X3RpbnlfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDEzCiAgICAvLyByZXR1cm4gQXNzZXRUaW55LmZyb21fYnl0ZXMoYiIiKQogICAgYnl0ZWNfMSAvLyAweAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQxNgogICAgLy8gbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTcKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTgKICAgIC8vIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RGVjaW1hbHMKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGR1cAogICAgYml0bGVuCiAgICBpbnRjXzMgLy8gOAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgZXh0cmFjdCA3IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MTUtNDE5CiAgICAvLyByZXR1cm4gQXNzZXRUaW55KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDUgLy8gNQogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDEzIC8vIDB4MDAwNQogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF90aW55KGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfdGlueToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjEtNDIyCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0X3Rpbnkoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55OgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDIzCiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X3RpbnkoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3RpbnkoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c190aW55OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyNS00MjYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX3Rpbnkoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjcKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX3RpbnlfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQyNwogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfdGlueV9hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MjgKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfdGlueShhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF90aW55CiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c190aW55X2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c190aW55X2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF90aW55X2xhYmVscyhhc3NldF9pZDogdWludDY0KSAtPiBieXRlczoKX2dldF9hc3NldF90aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzItNDMzCiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55TGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTkKICAgIC8vIF92LCBleGlzdHMgPSBvcC5Bc3NldFBhcmFtc0dldC5hc3NldF9jcmVhdG9yKGFzc2V0X2lkKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgogICAgYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDM0CiAgICAvLyBpZiBhc3NldF9pc19kZWxldGVkKGFzc2V0X2lkKToKICAgIGJueiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQzNQogICAgLy8gcmV0dXJuIEFzc2V0VGlueUxhYmVscy5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzgKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzkKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0MAogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSAzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQxCiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDIKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF90aW55X2xhYmVsc190ZXJuYXJ5X2ZhbHNlQDQKICAgIGZyYW1lX2RpZyAyCiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0MzctNDQyCiAgICAvLyByZXR1cm4gQXNzZXRUaW55TGFiZWxzKAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICAvLyApCiAgICBmcmFtZV9kaWcgMAogICAgZHVwCiAgICBsZW4KICAgIHB1c2hpbnQgNyAvLyA3CiAgICArCiAgICBkdXAKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBwdXNoYnl0ZXMgMHgwMDA3CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIGxlbgogICAgdW5jb3ZlciAyCiAgICArCiAgICBzd2FwCiAgICBmcmFtZV9kaWcgMwogICAgY29uY2F0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzX3Rlcm5hcnlfbWVyZ2VANQoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF90aW55X2xhYmVscyhhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ0NC00NDUKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfdGlueV9sYWJlbHMoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRUaW55TGFiZWxzOgogICAgcHJvdG8gMSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDQ2CiAgICAvLyByZXR1cm4gc2VsZi5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGlueV9sYWJlbHMKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldHNfdGlueV9sYWJlbHMoYXNzZXRzOiBieXRlcykgLT4gdm9pZDoKZ2V0X2Fzc2V0c190aW55X2xhYmVsczoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NDgtNDQ5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190aW55X2xhYmVscyhzZWxmLCBhc3NldHM6IGFyYzQuRHluYW1pY0FycmF5W2FyYzQuVUludDY0XSkgLT4gTm9uZToKICAgIHByb3RvIDEgMAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgLTEKICAgIGludGNfMCAvLyAwCiAgICBleHRyYWN0X3VpbnQxNgogICAgaW50Y18wIC8vIDAKCmdldF9hc3NldHNfdGlueV9sYWJlbHNfZm9yX2hlYWRlckAxOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ1MAogICAgLy8gZm9yIF9pLCBhc3NldF9pZCBpbiB1ZW51bWVyYXRlKGFzc2V0cyk6CiAgICBmcmFtZV9kaWcgMQogICAgZnJhbWVfZGlnIDAKICAgIDwKICAgIGJ6IGdldF9hc3NldHNfdGlueV9sYWJlbHNfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDUxCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzKGFzc2V0X2lkLm5hdGl2ZSkpCiAgICBleHRyYWN0X3VpbnQ2NAogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3RpbnlfbGFiZWxzCiAgICBsb2cKICAgIGludGNfMSAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDEKICAgIGIgZ2V0X2Fzc2V0c190aW55X2xhYmVsc19mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGlueV9sYWJlbHNfYWZ0ZXJfZm9yQDQ6CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTUtNDU2CiAgICAvLyBAc3Vicm91dGluZQogICAgLy8gZGVmIF9nZXRfYXNzZXRfdGV4dChzZWxmLCBhc3NldF9pZDogVUludDY0KSAtPiBBc3NldFRleHQ6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTcKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfdGV4dF9hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NTgKICAgIC8vIHJldHVybiBBc3NldFRleHQuZnJvbV9ieXRlcyhiIiIpCiAgICBieXRlY18xIC8vIDB4CiAgICByZXRzdWIKCl9nZXRfYXNzZXRfdGV4dF9hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDYxCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2MgogICAgLy8gdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVbml0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2MwogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NjAtNDY0CiAgICAvLyByZXR1cm4gQXNzZXRUZXh0KAogICAgLy8gICAgIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICAvLyAgICAgdW5pdF9uYW1lPWIyc3RyKGFzc2V0LnVuaXRfbmFtZSksCiAgICAvLyAgICAgdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICAvLyApCiAgICBkaWcgMgogICAgbGVuCiAgICBwdXNoaW50IDYgLy8gNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAwNgogICAgc3dhcAogICAgY29uY2F0CiAgICBkaWcgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfdGV4dChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3RleHQ6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDY2LTQ2NwogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0KHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0VGV4dDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ2OAogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF90ZXh0KGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0KGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfdGV4dDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzAtNDcxCiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c190ZXh0KHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDcyCiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0NzIKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3RleHRfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDczCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X3RleHQoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfdGV4dF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfdGV4dF9hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDc3LTQ3OAogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0VGV4dExhYmVsczoKICAgIHByb3RvIDEgMQogICAgaW50Y18wIC8vIDAKICAgIGR1cG4gMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBfdiwgZXhpc3RzID0gb3AuQXNzZXRQYXJhbXNHZXQuYXNzZXRfY3JlYXRvcihhc3NldF9pZCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ3OQogICAgLy8gaWYgYXNzZXRfaXNfZGVsZXRlZChhc3NldF9pZCk6CiAgICBibnogX2dldF9hc3NldF90ZXh0X2xhYmVsc19hZnRlcl9pZl9lbHNlQDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODAKICAgIC8vIHJldHVybiBBc3NldFRleHRMYWJlbHMuZnJvbV9ieXRlcyhiIiIpCiAgICBieXRlY18xIC8vIDB4CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF90ZXh0X2xhYmVsc19hZnRlcl9pZl9lbHNlQDI6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDgzCiAgICAvLyBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TmFtZQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgY2FsbHN1YiBiMnN0cgogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg0CiAgICAvLyB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODUKICAgIC8vIHVybD1iMnN0cihhc3NldC51cmwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VVJMCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0ODYKICAgIC8vIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgZnJhbWVfZGlnIC0xCiAgICBpdG9iCiAgICBkdXAKICAgIGZyYW1lX2J1cnkgMwogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBieiBfZ2V0X2Fzc2V0X3RleHRfbGFiZWxzX3Rlcm5hcnlfZmFsc2VANAogICAgZnJhbWVfZGlnIDMKICAgIGJveF9nZXQKICAgIGFzc2VydCAvLyBjaGVjayBzZWxmLmFzc2V0cyBlbnRyeSBleGlzdHMKCl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9tZXJnZUA1OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ4Mi00ODcKICAgIC8vIHJldHVybiBBc3NldFRleHRMYWJlbHMoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAwCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwMDgKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMgogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAzCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAwCiAgICByZXRzdWIKCl9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9mYWxzZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXR1cm4gYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5TdHJpbmddKCkKICAgIGJ5dGVjXzMgLy8gMHgwMDAwCiAgICBiIF9nZXRfYXNzZXRfdGV4dF9sYWJlbHNfdGVybmFyeV9tZXJnZUA1CgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0X3RleHRfbGFiZWxzKGFzc2V0OiB1aW50NjQpIC0+IGJ5dGVzOgpnZXRfYXNzZXRfdGV4dF9sYWJlbHM6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDg5LTQ5MAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF90ZXh0X2xhYmVscyhzZWxmLCBhc3NldDogVUludDY0KSAtPiBBc3NldFRleHRMYWJlbHM6CiAgICBwcm90byAxIDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTEKICAgIC8vIHJldHVybiBzZWxmLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGNhbGxzdWIgX2dldF9hc3NldF90ZXh0X2xhYmVscwogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c190ZXh0X2xhYmVscyhhc3NldHM6IGJ5dGVzKSAtPiB2b2lkOgpnZXRfYXNzZXRzX3RleHRfbGFiZWxzOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjQ5My00OTQKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19mb3JfaGVhZGVyQDE6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NDk1CiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAxCiAgICBmcmFtZV9kaWcgMAogICAgPAogICAgYnogZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19hZnRlcl9mb3JANAogICAgZnJhbWVfZGlnIC0xCiAgICBleHRyYWN0IDIgMAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMgogICAgaW50Y18zIC8vIDgKICAgICoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OTYKICAgIC8vIGxvZyhzZWxmLl9nZXRfYXNzZXRfdGV4dF9sYWJlbHMoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfdGV4dF9sYWJlbHMKICAgIGxvZwogICAgaW50Y18xIC8vIDEKICAgICsKICAgIGZyYW1lX2J1cnkgMQogICAgYiBnZXRfYXNzZXRzX3RleHRfbGFiZWxzX2Zvcl9oZWFkZXJAMQoKZ2V0X2Fzc2V0c190ZXh0X2xhYmVsc19hZnRlcl9mb3JANDoKICAgIHJldHN1YgoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLl9nZXRfYXNzZXRfc21hbGwoYXNzZXRfaWQ6IHVpbnQ2NCkgLT4gYnl0ZXM6Cl9nZXRfYXNzZXRfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTAwLTUwMQogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X3NtYWxsKHNlbGYsIGFzc2V0X2lkOiBVSW50NjQpIC0+IEFzc2V0U21hbGw6CiAgICBwcm90byAxIDEKICAgIGludGNfMCAvLyAwCiAgICBkdXBuIDYKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1OQogICAgLy8gX3YsIGV4aXN0cyA9IG9wLkFzc2V0UGFyYW1zR2V0LmFzc2V0X2NyZWF0b3IoYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDIKICAgIC8vIGlmIGFzc2V0X2lzX2RlbGV0ZWQoYXNzZXRfaWQpOgogICAgYm56IF9nZXRfYXNzZXRfc21hbGxfYWZ0ZXJfaWZfZWxzZUAyCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTAzCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbC5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDYKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDIKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDcKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgMwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUwOAogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSA1CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTA5CiAgICAvLyB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRUb3RhbAogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZnJhbWVfYnVyeSA2CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEwCiAgICAvLyBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRGcmVlemUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTExCiAgICAvLyBoYXNfY2xhd2JhY2s9YXJjNC5Cb29sKGFzc2V0LmNsYXdiYWNrICE9IEdsb2JhbC56ZXJvX2FkZHJlc3MpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q2xhd2JhY2sKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgIT0KICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTEyCiAgICAvLyBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIGZyYW1lX2RpZyAtMQogICAgaXRvYgogICAgZHVwCiAgICBmcmFtZV9idXJ5IDQKICAgIGJveF9sZW4KICAgIGJ1cnkgMQogICAgYnogX2dldF9hc3NldF9zbWFsbF90ZXJuYXJ5X2ZhbHNlQDQKICAgIGZyYW1lX2RpZyA0CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MDUtNTEzCiAgICAvLyByZXR1cm4gQXNzZXRTbWFsbCgKICAgIC8vICAgICBuYW1lPWIyc3RyKGFzc2V0Lm5hbWUpLAogICAgLy8gICAgIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgLy8gICAgIGRlY2ltYWxzPWFyYzQuVUludDgoYXNzZXQuZGVjaW1hbHMpLAogICAgLy8gICAgIHRvdGFsPWFyYzQuVUludDY0KGFzc2V0LnRvdGFsKSwKICAgIC8vICAgICBoYXNfZnJlZXplPWFyYzQuQm9vbChhc3NldC5mcmVlemUgIT0gR2xvYmFsLnplcm9fYWRkcmVzcyksCiAgICAvLyAgICAgaGFzX2NsYXdiYWNrPWFyYzQuQm9vbChhc3NldC5jbGF3YmFjayAhPSBHbG9iYWwuemVyb19hZGRyZXNzKSwKICAgIC8vICAgICBsYWJlbHM9c2VsZi5hc3NldHNbYXNzZXRdLmNvcHkoKSBpZiBhc3NldCBpbiBzZWxmLmFzc2V0cyBlbHNlIGVtcHR5X2xpc3QoKSwKICAgIC8vICkKICAgIGZyYW1lX2RpZyAyCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCAxNiAvLyAxNgogICAgKwogICAgZHVwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4MDAxMAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMwogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDUKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDYKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGludGNfMCAvLyAwCiAgICBnZXRiaXQKICAgIHB1c2hpbnQgMTA1IC8vIDEwNQogICAgc3dhcAogICAgc2V0Yml0CiAgICBzd2FwCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfZmFsc2VANDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X3NtYWxsX3Rlcm5hcnlfbWVyZ2VANQoKCi8vIHNtYXJ0X2NvbnRyYWN0cy5hc3NldF9sYWJlbGluZy5jb250cmFjdC5Bc3NldExhYmVsaW5nLmdldF9hc3NldF9zbWFsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X3NtYWxsOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNS01MTYKICAgIC8vIEBhYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXRfc21hbGwoc2VsZiwgYXNzZXQ6IFVJbnQ2NCkgLT4gQXNzZXRTbWFsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUxNwogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgY2FsbHN1YiBfZ2V0X2Fzc2V0X3NtYWxsCiAgICByZXRzdWIKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRzX3NtYWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfc21hbGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTE5LTUyMAogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldHNfc21hbGwoc2VsZiwgYXNzZXRzOiBhcmM0LkR5bmFtaWNBcnJheVthcmM0LlVJbnQ2NF0pIC0+IE5vbmU6CiAgICBwcm90byAxIDAKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjEKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzAgLy8gMAogICAgZXh0cmFjdF91aW50MTYKICAgIGludGNfMCAvLyAwCgpnZXRfYXNzZXRzX3NtYWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MjEKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0CiAgICBmcmFtZV9kaWcgLTEKICAgIGV4dHJhY3QgMiAwCiAgICBmcmFtZV9kaWcgMQogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpbnRjXzMgLy8gOAogICAgKgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyMgogICAgLy8gbG9nKHNlbGYuX2dldF9hc3NldF9zbWFsbChhc3NldF9pZC5uYXRpdmUpKQogICAgZXh0cmFjdF91aW50NjQKICAgIGNhbGxzdWIgX2dldF9hc3NldF9zbWFsbAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfc21hbGxfZm9yX2hlYWRlckAxCgpnZXRfYXNzZXRzX3NtYWxsX2FmdGVyX2ZvckA0OgogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuX2dldF9hc3NldF9mdWxsKGFzc2V0X2lkOiB1aW50NjQpIC0+IGJ5dGVzOgpfZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTI2LTUyNwogICAgLy8gQHN1YnJvdXRpbmUKICAgIC8vIGRlZiBfZ2V0X2Fzc2V0X2Z1bGwoc2VsZiwgYXNzZXRfaWQ6IFVJbnQ2NCkgLT4gQXNzZXRGdWxsOgogICAgcHJvdG8gMSAxCiAgICBpbnRjXzAgLy8gMAogICAgZHVwbiAxNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU5CiAgICAvLyBfdiwgZXhpc3RzID0gb3AuQXNzZXRQYXJhbXNHZXQuYXNzZXRfY3JlYXRvcihhc3NldF9pZCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIGJ1cnkgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOAogICAgLy8gaWYgYXNzZXRfaXNfZGVsZXRlZChhc3NldF9pZCk6CiAgICBibnogX2dldF9hc3NldF9mdWxsX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUyOQogICAgLy8gcmV0dXJuIEFzc2V0RnVsbC5mcm9tX2J5dGVzKGIiIikKICAgIGJ5dGVjXzEgLy8gMHgKICAgIGZyYW1lX2J1cnkgMAogICAgcmV0c3ViCgpfZ2V0X2Fzc2V0X2Z1bGxfYWZ0ZXJfaWZfZWxzZUAyOgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzMQogICAgLy8gcmVzZXJ2ZV9hY2N0ID0gQWNjb3VudChhc3NldC5yZXNlcnZlLmJ5dGVzKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZHVwCiAgICBjb3ZlciAyCiAgICBmcmFtZV9idXJ5IDIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzQKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCiAgICBidXJ5IDEKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzMtNTM1CiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIC8vIGlmIHJlc2VydmVfYWNjdC5pc19vcHRlZF9pbihhc3NldCkKICAgIC8vIGVsc2UgVUludDY0KDApCiAgICBieiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA0CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTMzCiAgICAvLyBhc3NldC5iYWxhbmNlKHJlc2VydmVfYWNjdCkKICAgIGZyYW1lX2RpZyAyCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQogICAgYXNzZXJ0IC8vIGFjY291bnQgb3B0ZWQgaW50byBhc3NldAoKX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfbWVyZ2VANToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzgKICAgIC8vIG5hbWU9YjJzdHIoYXNzZXQubmFtZSksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXROYW1lCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBjYWxsc3ViIGIyc3RyCiAgICBmcmFtZV9idXJ5IDMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1MzkKICAgIC8vIHVuaXRfbmFtZT1iMnN0cihhc3NldC51bml0X25hbWUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgNAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MAogICAgLy8gdXJsPWIyc3RyKGFzc2V0LnVybCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXRVUkwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGNhbGxzdWIgYjJzdHIKICAgIGZyYW1lX2J1cnkgNQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MQogICAgLy8gdG90YWw9YXJjNC5VSW50NjQoYXNzZXQudG90YWwpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VG90YWwKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOAogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0MgogICAgLy8gZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICBmcmFtZV9kaWcgLTEKICAgIGFzc2V0X3BhcmFtc19nZXQgQXNzZXREZWNpbWFscwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgaXRvYgogICAgZHVwCiAgICBiaXRsZW4KICAgIGludGNfMyAvLyA4CiAgICA8PQogICAgYXNzZXJ0IC8vIG92ZXJmbG93CiAgICBleHRyYWN0IDcgMQogICAgZnJhbWVfYnVyeSA3CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQzCiAgICAvLyBjcmVhdG9yPWFyYzQuQWRkcmVzcyhhc3NldC5jcmVhdG9yKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTIKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NDQKICAgIC8vIG1hbmFnZXI9YXJjNC5BZGRyZXNzKGFzc2V0Lm1hbmFnZXIpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWFuYWdlcgogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMwogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0NQogICAgLy8gZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0RnJlZXplCiAgICBzd2FwCiAgICBmcmFtZV9idXJ5IDE0CiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQ2CiAgICAvLyBjbGF3YmFjaz1hcmM0LkFkZHJlc3MoYXNzZXQuY2xhd2JhY2spLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q2xhd2JhY2sKICAgIHN3YXAKICAgIGZyYW1lX2J1cnkgMTAKICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NDcKICAgIC8vIHJlc2VydmU9YXJjNC5BZGRyZXNzKGFzc2V0LnJlc2VydmUpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0UmVzZXJ2ZQogICAgc3dhcAogICAgZnJhbWVfYnVyeSAxMQogICAgYXNzZXJ0IC8vIGFzc2V0IGV4aXN0cwogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU0OAogICAgLy8gZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIGZyYW1lX2RpZyAtMQogICAgYXNzZXRfcGFyYW1zX2dldCBBc3NldERlZmF1bHRGcm96ZW4KICAgIGFzc2VydCAvLyBhc3NldCBleGlzdHMKICAgIGJ5dGVjIDEwIC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICB1bmNvdmVyIDIKICAgIHNldGJpdAogICAgZnJhbWVfYnVyeSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTUwCiAgICAvLyBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NldF9wYXJhbXNfZ2V0IEFzc2V0TWV0YWRhdGFIYXNoCiAgICBhc3NlcnQgLy8gYXNzZXQgZXhpc3RzCiAgICBkdXAKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfYnVyeSAxCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTQ5CiAgICAvLyByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIGl0b2IKICAgIGZyYW1lX2J1cnkgOQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU1MQogICAgLy8gbGFiZWxzPXNlbGYuYXNzZXRzW2Fzc2V0XS5jb3B5KCkgaWYgYXNzZXQgaW4gc2VsZi5hc3NldHMgZWxzZSBlbXB0eV9saXN0KCksCiAgICBmcmFtZV9kaWcgLTEKICAgIGl0b2IKICAgIGR1cAogICAgZnJhbWVfYnVyeSA2CiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGJ6IF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X2ZhbHNlQDcKICAgIGZyYW1lX2RpZyA2CiAgICBib3hfZ2V0CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5hc3NldHMgZW50cnkgZXhpc3RzCgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA4OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNy01NTIKICAgIC8vIHJldHVybiBBc3NldEZ1bGwoCiAgICAvLyAgICAgbmFtZT1iMnN0cihhc3NldC5uYW1lKSwKICAgIC8vICAgICB1bml0X25hbWU9YjJzdHIoYXNzZXQudW5pdF9uYW1lKSwKICAgIC8vICAgICB1cmw9YjJzdHIoYXNzZXQudXJsKSwKICAgIC8vICAgICB0b3RhbD1hcmM0LlVJbnQ2NChhc3NldC50b3RhbCksCiAgICAvLyAgICAgZGVjaW1hbHM9YXJjNC5VSW50OChhc3NldC5kZWNpbWFscyksCiAgICAvLyAgICAgY3JlYXRvcj1hcmM0LkFkZHJlc3MoYXNzZXQuY3JlYXRvciksCiAgICAvLyAgICAgbWFuYWdlcj1hcmM0LkFkZHJlc3MoYXNzZXQubWFuYWdlciksCiAgICAvLyAgICAgZnJlZXplPWFyYzQuQWRkcmVzcyhhc3NldC5mcmVlemUpLAogICAgLy8gICAgIGNsYXdiYWNrPWFyYzQuQWRkcmVzcyhhc3NldC5jbGF3YmFjayksCiAgICAvLyAgICAgcmVzZXJ2ZT1hcmM0LkFkZHJlc3MoYXNzZXQucmVzZXJ2ZSksCiAgICAvLyAgICAgZGVmYXVsdF9mcm96ZW49YXJjNC5Cb29sKGFzc2V0LmRlZmF1bHRfZnJvemVuKSwKICAgIC8vICAgICByZXNlcnZlX2JhbGFuY2U9YXJjNC5VSW50NjQocmVzZXJ2ZV9iYWxhbmNlKSwKICAgIC8vICAgICBtZXRhZGF0YV9oYXNoPWFyYzQuRHluYW1pY0J5dGVzKGFzc2V0Lm1ldGFkYXRhX2hhc2gpLAogICAgLy8gICAgIGxhYmVscz1zZWxmLmFzc2V0c1thc3NldF0uY29weSgpIGlmIGFzc2V0IGluIHNlbGYuYXNzZXRzIGVsc2UgZW1wdHlfbGlzdCgpLAogICAgLy8gKQogICAgZnJhbWVfZGlnIDMKICAgIGR1cAogICAgbGVuCiAgICBwdXNoaW50IDE4OCAvLyAxODgKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweDAwYmMKICAgIHN3YXAKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDQKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIGR1cAogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMgogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgNQogICAgZHVwCiAgICBjb3ZlciAzCiAgICBsZW4KICAgIHVuY292ZXIgMgogICAgKwogICAgc3dhcAogICAgZnJhbWVfZGlnIDgKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDcKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEyCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMwogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMTQKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEwCiAgICBjb25jYXQKICAgIGZyYW1lX2RpZyAxMQogICAgY29uY2F0CiAgICBmcmFtZV9kaWcgMAogICAgY29uY2F0CiAgICBkaWcgMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgZnJhbWVfZGlnIDEKICAgIGR1cAogICAgY292ZXIgMwogICAgbGVuCiAgICB1bmNvdmVyIDIKICAgICsKICAgIHN3YXAKICAgIGZyYW1lX2RpZyA5CiAgICBjb25jYXQKICAgIHN3YXAKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgNAogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICBmcmFtZV9idXJ5IDAKICAgIHJldHN1YgoKX2dldF9hc3NldF9mdWxsX3Rlcm5hcnlfZmFsc2VANzoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo0OQogICAgLy8gcmV0dXJuIGFyYzQuRHluYW1pY0FycmF5W2FyYzQuU3RyaW5nXSgpCiAgICBieXRlY18zIC8vIDB4MDAwMAogICAgYiBfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9tZXJnZUA4CgpfZ2V0X2Fzc2V0X2Z1bGxfdGVybmFyeV9mYWxzZUA0OgogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjUzNQogICAgLy8gZWxzZSBVSW50NjQoMCkKICAgIGludGNfMCAvLyAwCiAgICBiIF9nZXRfYXNzZXRfZnVsbF90ZXJuYXJ5X21lcmdlQDUKCgovLyBzbWFydF9jb250cmFjdHMuYXNzZXRfbGFiZWxpbmcuY29udHJhY3QuQXNzZXRMYWJlbGluZy5nZXRfYXNzZXRfZnVsbChhc3NldDogdWludDY0KSAtPiBieXRlczoKZ2V0X2Fzc2V0X2Z1bGw6CiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTU0LTU1NQogICAgLy8gQGFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldF9mdWxsKHNlbGYsIGFzc2V0OiBVSW50NjQpIC0+IEFzc2V0RnVsbDoKICAgIHByb3RvIDEgMQogICAgLy8gc21hcnRfY29udHJhY3RzL2Fzc2V0X2xhYmVsaW5nL2NvbnRyYWN0LnB5OjU1NgogICAgLy8gcmV0dXJuIHNlbGYuX2dldF9hc3NldF9mdWxsKGFzc2V0KQogICAgZnJhbWVfZGlnIC0xCiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfZnVsbAogICAgcmV0c3ViCgoKLy8gc21hcnRfY29udHJhY3RzLmFzc2V0X2xhYmVsaW5nLmNvbnRyYWN0LkFzc2V0TGFiZWxpbmcuZ2V0X2Fzc2V0c19mdWxsKGFzc2V0czogYnl0ZXMpIC0+IHZvaWQ6CmdldF9hc3NldHNfZnVsbDoKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NTgtNTU5CiAgICAvLyBAYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUpCiAgICAvLyBkZWYgZ2V0X2Fzc2V0c19mdWxsKHNlbGYsIGFzc2V0czogYXJjNC5EeW5hbWljQXJyYXlbYXJjNC5VSW50NjRdKSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTYwCiAgICAvLyBmb3IgX2ksIGFzc2V0X2lkIGluIHVlbnVtZXJhdGUoYXNzZXRzKToKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18wIC8vIDAKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnRjXzAgLy8gMAoKZ2V0X2Fzc2V0c19mdWxsX2Zvcl9oZWFkZXJAMToKICAgIC8vIHNtYXJ0X2NvbnRyYWN0cy9hc3NldF9sYWJlbGluZy9jb250cmFjdC5weTo1NjAKICAgIC8vIGZvciBfaSwgYXNzZXRfaWQgaW4gdWVudW1lcmF0ZShhc3NldHMpOgogICAgZnJhbWVfZGlnIDEKICAgIGZyYW1lX2RpZyAwCiAgICA8CiAgICBieiBnZXRfYXNzZXRzX2Z1bGxfYWZ0ZXJfZm9yQDQKICAgIGZyYW1lX2RpZyAtMQogICAgZXh0cmFjdCAyIDAKICAgIGZyYW1lX2RpZyAxCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGludGNfMyAvLyA4CiAgICAqCiAgICAvLyBzbWFydF9jb250cmFjdHMvYXNzZXRfbGFiZWxpbmcvY29udHJhY3QucHk6NTYxCiAgICAvLyBsb2coc2VsZi5fZ2V0X2Fzc2V0X2Z1bGwoYXNzZXRfaWQubmF0aXZlKSkKICAgIGV4dHJhY3RfdWludDY0CiAgICBjYWxsc3ViIF9nZXRfYXNzZXRfZnVsbAogICAgbG9nCiAgICBpbnRjXzEgLy8gMQogICAgKwogICAgZnJhbWVfYnVyeSAxCiAgICBiIGdldF9hc3NldHNfZnVsbF9mb3JfaGVhZGVyQDEKCmdldF9hc3NldHNfZnVsbF9hZnRlcl9mb3JANDoKICAgIHJldHN1Ygo=","clear":"I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMSAvLyAxCiAgICByZXR1cm4K"},"bareActions":{"create":["NoOp"],"call":["DeleteApplication","UpdateApplication"]}} as unknown as Arc56Contract /** * A state record containing binary data diff --git a/projects/abel-sdk-v2/src/index.ts b/projects/abel-sdk-v2/src/index.ts index c9f054c..92b871a 100644 --- a/projects/abel-sdk-v2/src/index.ts +++ b/projects/abel-sdk-v2/src/index.ts @@ -1,8 +1,9 @@ -import { AlgorandClient } from "@algorandfoundation/algokit-utils"; import { TransactionSignerAccount } from "@algorandfoundation/algokit-utils/types/account"; import { BoxName } from "@algorandfoundation/algokit-utils/types/app"; import { decodeAddress, decodeUint64, encodeAddress, encodeUint64, makeEmptyTransactionSigner } from "algosdk"; + import pMap from "p-map"; + import { AssetFullFromTuple, AssetLabelingClient, @@ -17,6 +18,7 @@ import { LabelDescriptorFromTuple as LabelDescriptorBoxValueFromTuple, } from "./generated/abel-contract-client.js"; import { + AbelSDKOptions, AnyFn, AssetFull, AssetMicro, @@ -26,8 +28,8 @@ import { AssetTextLabels, AssetTiny, AssetTinyLabels, + ClientResponse, LabelDescriptor, - QueryReturn, } from "./types.js"; import { chunk, encodeUint64Arr, isNullish, mergeMapsArr, wrapErrors } from "./util.js"; @@ -43,25 +45,59 @@ const SIMULATE_PARAMS = { allowEmptySignatures: true, }; +/** + * The `AbelSDK` class is an SDK for interacting with an asset labeling system, allowing querying, management, and + * association of labels, assets, and operators within a given application. + * The class supports read and write operations and relies on Algorand blockchain infrastructure. + * + * @example + * import { AlgorandClient } from "@algorandfoundation/algokit-utils"; + * import { AbelSDK } from "abel-sdk"; + * + * const abel = new AbelSDK({ + * appId: 2914159523n, // Abel Mainnet PoC App ID + * algorand: AlgorandClient.fromConfig({ + * algodConfig: { server: "https://mainnet-api.4160.nodely.dev", port: 443 }, + * }), + * }); + */ export class AbelSDK { + /** + * Represents an instance of AssetLabelingClient used to read data from the Asset Labeling contract. + * Provides functionality to manage and retrieve asset labeling data. + */ readClient: AssetLabelingClient; + /** + * Represents an instance of AssetLabelingClient or undefined. + * + * The variable is used to write data to the Asset Labeling contract. + * Ensure to properly check for undefined before attempting to invoke any methods or properties + * associated with the AssetLabelingClient. + */ writeClient: AssetLabelingClient | undefined; + /** + * An optional variable representing an account that can authorize and sign transactions. + * + * The `writeAccount` variable is either an instance of `TransactionSignerAccount` or is undefined. + * It is used to execute and authenticate transaction operations. + */ writeAccount?: TransactionSignerAccount | undefined; - private concurrency: number = 2; - - constructor({ - algorand, - appId, - readAccount = DEFAULT_READ_ACCOUNT, - writeAccount, - concurrency, - }: { - algorand: AlgorandClient; - appId: bigint; - writeAccount?: TransactionSignerAccount; - readAccount?: string; - concurrency?: number; - }) { + /** + * Specifies the maximum number of concurrent operations allowed. + * This variable defines the degree of parallelism that is permissible + * for processes or tasks. Adjust this value to control the level of + * concurrency in the application. + */ + readonly #concurrency: number = 4; + + constructor(options: AbelSDKOptions) { + const { + algorand, + appId, + readAccount = DEFAULT_READ_ACCOUNT, + writeAccount, + concurrency, + } = options; // Client used for read queries. Sender can be any funded address. // Default read is the A7N.. fee sink which is funded on all public ALGO networks // (localnet may be zero or at min balance though) @@ -82,24 +118,40 @@ export class AbelSDK { } if (concurrency !== undefined) { - this.concurrency = concurrency; + this.#concurrency = concurrency; } } + /** + * Retrieves the application ID associated with the current client instance. + */ get appId() { return this.readClient.appId; } - // Box bead wrappers - + /** + * Return all label IDs available on the contract + * + * @returns Label IDs + */ async getAllLabels(): Promise { return (await this.getBoxesByLength(2)).map((boxName) => boxName.name); } + /** + * Return all operator addresses on the contract + * + * @returns Operator addresses + */ async getAllOperators(): Promise { return (await this.getBoxesByLength(32)).map((boxName) => encodeAddress(boxName.nameRaw)); } + /** + * Return all asset IDs available on the contract + * + * @returns Asset IDs + */ async getAllAssetIDs(): Promise { return (await this.getBoxesByLength(8)).map((boxName) => decodeUint64(boxName.nameRaw, "bigint")); } @@ -110,6 +162,12 @@ export class AbelSDK { * We simulate from a client configured with a (theoretically) known-good account on all networks, default dev fee sink */ + /** + * Returns whether a specific label ID exists or not + * + * @param labelId label ID + * @returns Whether the label exists or not + */ async hasLabel(labelId: string): Promise { const { returns: [hasLabel], @@ -122,6 +180,12 @@ export class AbelSDK { return Boolean(hasLabel); } + /** + * Get a label descriptor for a label by its ID. + * + * @param labelId The label to look up by label ID + * @returns A label descriptor + */ async getLabelDescriptor(labelId: string): Promise { try { const { @@ -142,6 +206,12 @@ export class AbelSDK { } } + /** + * Get multiple label descriptors for labels, by their IDs. + * + * @param {string} labelIds The label IDs to look up + * @return Result wap with label IDs as keys and LabelDescriptors as values. + */ async getLabelDescriptors(labelIds: string[]): Promise> { const { confirmations } = await wrapErrors( this.readClient @@ -161,6 +231,13 @@ export class AbelSDK { return labelDescriptors; } + /** + * Returns whether or not an operator has access to a label + * + * @param operator The operator address to query + * @param {string} label The label ID to look up + * @returns + */ async hasOperatorLabel(operator: string, label: string): Promise { const { returns: [hasLabel], @@ -168,6 +245,12 @@ export class AbelSDK { return Boolean(hasLabel); } + /** + * Get all labels for an operator + * + * @param operator The operator address to query + * @returns Labels that this account can operate on + */ async getOperatorLabels(operator: string): Promise { const { returns: [operatorLabels], @@ -176,6 +259,13 @@ export class AbelSDK { return operatorLabels!; } + /** + * Return whether an asset has a specific label + * + * @param assetId Asset to look up, by asset ID + * @param label label to query for, by label ID + * @return True if an asset exists and has a label + */ async hasAssetLabel(assetId: bigint, label: string): Promise { const { returns: [hasLabel], @@ -183,6 +273,13 @@ export class AbelSDK { return Boolean(hasLabel); } + + /** + * Fetches the labels associated with a specific asset. + * + * @param assetId - The unique identifier of the asset for which labels need to be retrieved. + * @return A promise that resolves to an array of asset labels. + */ async getAssetLabels(assetId: bigint): Promise { const { returns: [assetLabels], @@ -195,6 +292,19 @@ export class AbelSDK { return assetLabels!; } + /** + * Retrieves asset labels for a given list of asset IDs asynchronously. + * + * This method performs a simulation of fetching labels for the specified assets by calling + * the `logAssetsLabels` function through the `readClient` instance. If the input list of + * asset IDs exceeds the predefined maximum (METHOD_MAX), it automatically splits the call + * into batches for processing. + * + * @param assetIds - An array of asset IDs for which labels are to be fetched. + * @returns A promise that resolves to a map where each asset ID + * corresponds to its associated array of labels. + * @throws {Error} If an error occurs during the simulation or log parsing process. + */ getAssetsLabels = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 128; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsLabels, [assetIds], METHOD_MAX); @@ -221,11 +331,16 @@ export class AbelSDK { return map; }; - /* - * Write methods = transactions - */ - async addLabel(labelId: string, name: string, url: string) { + /** + * Adds a label to the specified entity with the given details. + * + * @param labelId - The unique identifier for the label. + * @param name - The name of the label. + * @param url - The URL associated with the label. + * @return Returns a promise that resolves to the result of the operation, potentially wrapped with error handling. + */ + async addLabel(labelId: string, name: string, url: string): Promise { this.requireWriteClient(); const query = this.writeClient @@ -244,7 +359,16 @@ export class AbelSDK { return wrapErrors(query); } - async changeLabel(labelId: string, name: string, url: string) { + /** + * Updates the label with the specified ID, changing its name and URL. + * + * @param labelId - The unique identifier of the label to be changed. + * @param name - The new name to assign to the label. + * @param url - The new URL to associate with the label. + * @return A promise that resolves with the response from the client after attempting to update the label. + * @throws {Error} If the `name` or `url` parameters are nullish (undefined or null). + */ + async changeLabel(labelId: string, name: string, url: string): Promise { this.requireWriteClient(); if (isNullish(name)) throw new Error("name must be defined"); @@ -258,7 +382,14 @@ export class AbelSDK { return wrapErrors(query); } - async removeLabel(labelId: string) { + /** + * Removes a label specified by the labelId. + * + * @param labelId - The unique identifier of the label to be removed. + * @return A promise that resolves with the result of the removal operation + * or rejects with an error if the operation fails. + */ + async removeLabel(labelId: string): Promise { this.requireWriteClient(); const query = this.writeClient.send.removeLabel({ @@ -270,7 +401,15 @@ export class AbelSDK { return wrapErrors(query); } - async addOperatorToLabel(operator: string, labelId: string) { + /** + * Add a label to an operator. + * This allows the operator address to add/remove operators to the label, as well as label assets with this label. + * + * @param operator Operator address + * @param labelId Label to add to operator + * @returns + */ + async addOperatorToLabel(operator: string, labelId: string): Promise { this.requireWriteClient(); const query = this.writeClient.send.addOperatorToLabel({ @@ -284,7 +423,14 @@ export class AbelSDK { return wrapErrors(query); } - async removeOperatorFromLabel(operator: string, labelId: string) { + /** + * Removes an operator from a specified label. + * + * @param operator - The address of the operator to be removed. + * @param labelId - The ID of the label from which the operator is to be removed. + * @return A promise that resolves to the client response indicating the result of the operation. + */ + async removeOperatorFromLabel(operator: string, labelId: string): Promise { this.requireWriteClient(); const query = await this.writeClient.send.removeOperatorFromLabel({ @@ -295,7 +441,14 @@ export class AbelSDK { return wrapErrors(query); } - async addLabelToAsset(assetId: bigint, labelId: string) { + /** + * Adds a label to a specified asset by associating the label ID with the asset ID. + * + * @param assetId - The unique identifier of the asset to which the label will be added. + * @param labelId - The unique identifier of the label to be associated with the asset. + * @return A promise that resolves to the client response indicating the result of the operation. + */ + async addLabelToAsset(assetId: bigint, labelId: string): Promise { this.requireWriteClient(); const query = this.writeClient.send.addLabelToAsset({ @@ -308,14 +461,29 @@ export class AbelSDK { return wrapErrors(query); } - addLabelToAssets = async (assetIds: bigint[], labelId: string): Promise => { + /** + * Adds a specified label to a set of asset IDs. + * + * This function permits assigning a label to assets in batches to optimize performance. + * If the list of asset IDs exceeds the maximum limit for a single method invocation, + * the function segments the asset IDs into chunks and processes them asynchronously + * with controlled concurrency. + * + * @param assetIds - An array of asset IDs to be labeled. + * @param labelId - The identifier of the label to be added to the assets. + * @returns A promise that resolves to the response(s) from the operation. + * If the operation involves chunked requests, the responses are returned as an array. + * + * @throws Error Throws an error if the write client is not available. + */ + addLabelToAssets = async (assetIds: bigint[], labelId: string): Promise => { this.requireWriteClient(); const METHOD_MAX = 6 + 8 * 15; if (assetIds.length > METHOD_MAX) { const chunked = chunk(assetIds, METHOD_MAX); - return pMap(chunked, (assetIds) => this.addLabelToAssets(assetIds, labelId) as Promise, { - concurrency: this.concurrency, + return pMap(chunked, (assetIds) => this.addLabelToAssets(assetIds, labelId) as Promise, { + concurrency: this.#concurrency, }); } @@ -343,7 +511,14 @@ export class AbelSDK { return await wrapErrors(query.send()); }; - async removeLabelFromAsset(assetId: bigint, labelId: string) { + /** + * Removes a label from a specified asset. + * + * @param assetId - The unique identifier of the asset from which the label should be removed. + * @param labelId - The unique identifier of the label to be removed from the asset. + * @return A promise that resolves to a ClientResponse indicating the result of the label removal operation. + */ + async removeLabelFromAsset(assetId: bigint, labelId: string): Promise { this.requireWriteClient(); const query = this.writeClient.send.removeLabelFromAsset({ @@ -357,9 +532,18 @@ export class AbelSDK { return wrapErrors(query); } - /* Batch fetch asset views */ - - getAssetsMicro = async (assetIds: bigint[]): Promise> => { + /** + * Retrieves a map of asset micro details for the provided asset IDs. + * + * This function handles querying for the details of multiple assets using their respective IDs. + * It ensures batched processing if the number of asset IDs exceeds the maximum method capacity. + * + * @param assetIds - An array of asset IDs for which the micro details are requested. + * @returns A promise that resolves to a map where each key is the asset ID, + * and the value is the corresponding AssetMicro data. + * @throws {Error} Throws an error if the query or data parsing encounters an issue. + */ + getAssetsMicro = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 128; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsMicro, [assetIds], METHOD_MAX); @@ -374,7 +558,21 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsMicroLabels = async (assetIds: bigint[]): Promise> => { + /** + * Fetches the micro labels for a given list of asset IDs. + * + * This method retrieves metadata for the specified assets by making + * a request to the underlying data source. It supports batching + * for optimizing requests, ensuring that if the asset list exceeds + * a predefined maximum limit (`METHOD_MAX`), it splits the calls + * into batches for processing. + * + * @param assetIds - An array of asset IDs for which micro labels are to be fetched. + * @returns A promise resolving to a Map where each key is an asset ID and the value is its corresponding micro label information. + * + * @throws Error Throws an error if the underlying client encounters issues processing the request. + */ + getAssetsMicroLabels = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 64; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsMicroLabels, [assetIds], METHOD_MAX); @@ -389,7 +587,17 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsTiny = async (assetIds: bigint[]): Promise> => { + /** + * Retrieves a mapping of asset IDs to their corresponding "AssetTiny" details. + * This asynchronous function fetches details for the provided asset IDs in an optimized manner, + * using batching if the number of asset IDs exceeds the allowed limit. + * + * @param assetIds - An array of asset identifiers for which the details are requested. + * @returns A promise that resolves to a Map where each asset ID is mapped + * to its corresponding "AssetTiny" details. + * @throws Error Will throw an error if there is an issue during the retrieval or processing of the asset details. + */ + getAssetsTiny = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 128; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsTiny, [assetIds], METHOD_MAX); @@ -404,7 +612,20 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsTinyLabels = async (assetIds: bigint[]): Promise> => { + /** + * Fetches tiny label details for the given list of asset IDs. + * + * This method queries asset data in batches if the number of asset IDs exceeds a pre-defined limit. + * It uses simulated calls to the read client for retrieving asset label information and parses + * the logs to extract the results. The returned data is mapped to each asset ID. + * + * @param assetIds - Array of asset IDs for which tiny labels are to be retrieved. + * @returns A promise that resolves to a map, + * where each key is an asset ID (bigint) and the value is an object containing the tiny label details for the asset. + * + * @throws Error Will throw an error if any issue occurs while simulating or parsing logs. + */ + getAssetsTinyLabels = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 64; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsTinyLabels, [assetIds], METHOD_MAX); @@ -419,7 +640,21 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsText = async (assetIds: bigint[]): Promise> => { + /** + * Retrieves asset text details for a given list of asset IDs. + * + * This function fetches the text descriptors for the specified asset IDs asynchronously. + * If the number of asset IDs exceeds the defined method limit (`METHOD_MAX`), + * the function breaks the request into smaller batches and calls itself recursively. + * + * @param assetIds - An array of bigint values representing the asset IDs. + * @returns A promise that resolves to a Map, + * where each key is an asset ID and the value is an `AssetText` object containing + * the text descriptor for the respective asset. + * + * @throws Error Will throw errors if the internal simulation or parsing of logs fails. + */ + getAssetsText = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 128; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsText, [assetIds], METHOD_MAX); @@ -434,7 +669,20 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsTextLabels = async (assetIds: bigint[]): Promise> => { + /** + * Fetches text labels for a given list of asset IDs. + * + * The function retrieves the text labels associated with the provided asset IDs + * by calling the backend services and simulating the results. If the number of + * asset IDs exceeds the maximum allowed limit (METHOD_MAX), the function divides + * the request into smaller batch calls. + * + * @param assetIds - An array of asset IDs for which text labels are to be fetched. + * @returns A promise that resolves to a map where the keys + * are the asset IDs and the values are their associated text label objects. + * @throws Error Will throw errors if the simulation or parsing of logs fails during the process. + */ + getAssetsTextLabels = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 64; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsTextLabels, [assetIds], METHOD_MAX); @@ -449,7 +697,22 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsSmall = async (assetIds: bigint[]): Promise> => { + /** + * Retrieves a map of small asset details for the given list of asset IDs. + * + * If the number of asset IDs exceeds the maximum allowable batch size (`METHOD_MAX`), the method splits + * the request into batches by recursively calling itself with the appropriate subdivisions of the `assetIds` array. + * + * The method interacts with a read client to simulate a data retrieval process and parses the resulting logs + * to map each asset ID to its corresponding asset data. + * + * @param assetIds - An array of asset IDs for which the small asset details should be retrieved. + * @returns A promise resolving to a map where the keys are asset IDs (bigint) + * and the values are `AssetSmall` objects containing the corresponding small asset details. + * + * @throws Error Will propagate any errors encountered during the read client interaction or log parsing. + */ + getAssetsSmall = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 64; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsSmall, [assetIds], METHOD_MAX); @@ -464,7 +727,19 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - getAssetsFull = async (assetIds: bigint[]): Promise> => { + /** + * Retrieves detailed information for a list of asset IDs as a map of asset ID to asset details. + * + * If the number of asset IDs exceeds the maximum allowed per method call, the request is automatically divided + * into smaller batches to handle the data in chunks. + * + * @param assetIds - An array of asset IDs for which the detailed information is requested. + * @returns A promise resolving to a map where each key is an asset ID and + * the value is the corresponding detailed asset information. + * + * @throws {Error} Throws an error if the underlying request fails or an unexpected response format is encountered. + */ + getAssetsFull = async (assetIds: bigint[]): Promise> => { const METHOD_MAX = 42; if (assetIds.length > METHOD_MAX) return this.batchCall(this.getAssetsFull, [assetIds], METHOD_MAX); @@ -479,14 +754,18 @@ export class AbelSDK { return new Map(assetValues.map((descriptorValue, idx) => [assetIds[idx], { id: assetIds[idx], ...descriptorValue }])); }; - /* Utils */ - + /** + * Retrieves a list of box names where the name has a specified length. + * + * @param {number} length - The length of the box names to filter by. + * @return {Promise} A promise that resolves to an array of box names matching the specified length. + */ private async getBoxesByLength(length: number): Promise { const boxNames = await this.readClient.algorand.app.getBoxNames(this.appId); return boxNames.filter((boxName) => boxName.nameRaw.length === length); } - /* + /** * parse typed arc4 structs from logs * * tupleParser is like generated clients' xyzArcStructFromTuple @@ -506,23 +785,35 @@ export class AbelSDK { return parsed; } - /* - * ts guard for write clients only + /** + * Asserts that the current instance has both a `writeAccount` and `writeClient` defined. + * Throws an error if either is undefined, indicating the operation cannot be performed + * on a read-only client. + * + * @return Asserts that the instance includes `writeAccount` of type `TransactionSignerAccount` + * and `writeClient` of type `AssetLabelingClient`. */ - requireWriteClient(): asserts this is this & { writeAccount: TransactionSignerAccount } & { writeClient: AssetLabelingClient } { + private requireWriteClient(): asserts this is this & { writeAccount: TransactionSignerAccount } & { writeClient: AssetLabelingClient } { if (this.writeAccount === undefined || this.writeClient === undefined) { throw new Error(`A transaction operation was issued on a read-only client`); } } - /* - * pMap batcher, merge maps after + /** + * Executes a batch call on a given method with a specific maximum number of assets processed per batch. * + * pMap batcher, merge maps after * decorator pattern instead would be nice but ... eh + * + * @param method The function to be called for each batch. + * @param param1 The parameters for the method, where `param1[0]` refers to an array of asset IDs to be processed. + * @param methodMax The maximum number of asset IDs to process in a single batch. + * @return A promise that resolves to the combined result of the batch executions. + * If the results are Maps, they are merged. */ - async batchCall(method: T, [assetIDs, ...rest]: Parameters, methodMax: number): Promise> { + private async batchCall(method: T, [assetIDs, ...rest]: Parameters, methodMax: number): Promise> { const chunkedAssetIds = chunk(assetIDs, methodMax); - const res = await pMap(chunkedAssetIds, (assetIDs) => method(assetIDs, ...rest), { concurrency: this.concurrency }); + const res = await pMap(chunkedAssetIds, (assetIDs) => method(assetIDs, ...rest), { concurrency: this.#concurrency }); // @ts-ignore return res[0] instanceof Map ? mergeMapsArr(res) : undefined; } diff --git a/projects/abel-sdk-v2/src/types.ts b/projects/abel-sdk-v2/src/types.ts index d3d2088..ead07ed 100644 --- a/projects/abel-sdk-v2/src/types.ts +++ b/projects/abel-sdk-v2/src/types.ts @@ -12,13 +12,63 @@ import { AssetSmall as AssetSmallValue, AssetFull as AssetFullValue, } from "./generated/abel-contract-client.js"; +import {AlgorandClient} from "@algorandfoundation/algokit-utils"; +import {TransactionSignerAccount} from "@algorandfoundation/algokit-utils/types/account"; +/** + * Represents the configuration options for initializing the Abel SDK. + */ +export interface AbelSDKOptions { + /** + * Represents an instance of the Algorand client used for interacting with the Algorand blockchain. + * The client provides functionalities to connect to the network, submit transactions, + * retrieve account information, and manage blockchain-related operations. + * + * This variable is initialized with the required configuration and network details + * to establish communication with the desired Algorand network. + */ + algorand: AlgorandClient; + /** + * Represents the unique identifier of an application. + * This identifier is a BigInt value and is typically used for referencing + * and distinguishing one application instance from another within the AVM. + */ + appId: bigint; + /** + * An optional property representing a signer account used for + * writing or authorizing transactions. + */ + writeAccount?: TransactionSignerAccount; + /** + * The Algorand address for reading + */ + readAccount?: string; + /** + * The maximum number of concurrent operations allowed. + * This optional parameter defines the upper limit for tasks or processes + * that can run simultaneously. + */ + concurrency?: number; +} + +/** + * A label description/configuration + * + */ export interface LabelDescriptor extends LabelDescriptorBoxValue { id: string; } +/** + * @protected + */ export type AnyFn = (...args: any[]) => any; +export type ClientResponse = QueryReturn | SendReturn | BoxReturn; + +/** + * @protected + */ export interface QueryReturn { groupId: string; txIds: string[]; @@ -27,15 +77,40 @@ export interface QueryReturn { transactions: Transaction[]; } -export type DeletedAsset = { id: bigint; deleted: true }; +/** + * @protected + */ +export interface SendReturn { + confirmations: PendingTransactionResponse[]; + groupId: string; + returns: ABIReturn[] & [undefined | void]; + transactions: Transaction[]; + txIds: string[]; +} -export type AssetMicro = (AssetMicroValue & { id: bigint }) | DeletedAsset; -export type AssetMicroLabels = (AssetMicroLabelsValue & { id: bigint }) | DeletedAsset; -export type AssetTiny = (AssetTinyValue & { id: bigint }) | DeletedAsset; -export type AssetTinyLabels = (AssetTinyLabelsValue & { id: bigint }) | DeletedAsset; -export type AssetText = (AssetTextValue & { id: bigint }) | DeletedAsset; -export type AssetTextLabels = (AssetTextLabelsValue & { id: bigint }) | DeletedAsset; -export type AssetSmall = (AssetSmallValue & { id: bigint }) | DeletedAsset; -export type AssetFull = (AssetFullValue & { id: bigint }) | DeletedAsset; +/** + * @protected + */ +export interface BoxReturn { + return: void | undefined; + groupId: string; + txIds: string[]; + returns?: ABIReturn[] | undefined; + confirmations: PendingTransactionResponse[]; + transactions: Transaction[]; + confirmation: PendingTransactionResponse; + transaction: Transaction; +} +export interface AssetMicro extends AssetMicroValue { id: bigint; } +export interface AssetMicroLabels extends AssetMicroLabelsValue { id: bigint; } +export interface AssetTiny extends AssetTinyValue { id: bigint; } +export interface AssetTinyLabels extends AssetTinyLabelsValue { id: bigint; } +export interface AssetText extends AssetTextValue { id: bigint; } +export interface AssetTextLabels extends AssetTextLabelsValue { id: bigint; } +export interface AssetSmall extends AssetSmallValue { id: bigint; } +export interface AssetFull extends AssetFullValue { id: bigint; } +/** + * @protected + */ export type FirstArgument any> = T extends (arg1: infer U, ...args: any[]) => any ? U : never; diff --git a/projects/abel-sdk-v2/typedoc.json b/projects/abel-sdk-v2/typedoc.json new file mode 100644 index 0000000..af6574b --- /dev/null +++ b/projects/abel-sdk-v2/typedoc.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "name": "abel-sdk", + "customFooterHtml": "Copyright d13 2025", + "hideGenerator": true, + "excludeInternal": true, + "requiredToBeDocumented": ["Function", "Class", "Interface", "Module"], + "githubPages": false, + "router": "structure-dir", + "entryPoints": [ + "./src/index.ts" + ] +} diff --git a/projects/asset_labeling-contracts/package.json b/projects/asset_labeling-contracts/package.json index ebb0281..f8a2bbc 100644 --- a/projects/asset_labeling-contracts/package.json +++ b/projects/asset_labeling-contracts/package.json @@ -3,6 +3,7 @@ "version": "1.0.0", "description": "Smart contract deployer", "main": "index.ts", + "license": "MIT", "scripts": { "deploy": "ts-node-dev --transpile-only --watch .env -r dotenv/config smart_contracts/index.ts", "deploy:ci": "ts-node --transpile-only -r dotenv/config smart_contracts/index.ts",