Giter Site home page Giter Site logo

perfecttower's Introduction

AI Scripts and Utilities for Perfect Tower II

Quick-Navigation

This is my collection of AI scripts and other useful things. I focus on low-RAM scripts (i.e. 14 actions or less), so that they'll be usable by everyone who has unlocked the AI.

Almost all of these also while turbo exec is active, although with some quirks - for instance, the autominer will cause noticable lag on entering the mine, and mine everything before you can see it happen!

Improved code editor

I maintain a fork of the external editor at https://d0sboots.github.io/perfect-tower. It has several enhancements, such as improved loading speed, better responsiveness when editing complicated scripts, and support for enhanced macros and syntax. You can see the full list of features at https://github.com/d0sboots/perfect-tower.

It's kind of a pain to move source code between editors, (as opposed to importing compiled code, which is easy), so if you already have a lot of work saved on the base editor at https://kyromyr.github.io/perfect-tower, it may not be worth switching. If you aren't using either yet, you definitely should use one instead of the in-game editor, though - the difference is night and day. Also worth noting is that compiling the source for many of my scripts requires the enhancements in my editor. (You don't need it to just import them.)

Turbo Exec v2.2

The latest version of turbo exec lives in a package, and is fully backwards-compatible with the non-packaged TEv2. Get this if a script says it needs it, otherwise you don't need it. (It doesn't do anything on its own.) Get it (and more information) at https://github.com/d0sboots/TPT2_scripts/blob/main/common/turbo_exec/README.md.

Simple Skill script

All this does is use the first active skill, constantly, as long as you are in tower testing.

D0S.SimpleSkill 2 1 5

D0QwUy5TaW1wbGVTa2lsbAIAAAAGd2FrZXVwDWdhbWUubmV3cm91bmQBAAAAE2dhbWUuaXNUb3dlclRlc3RpbmcFAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5zdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECjxzaXplPTA+c0sIY29uc3RhbnQEAj09CGNvbnN0YW50BCo8L3NpemU+PGNvbG9yPXdoaXRlPlNraWxscyBydW5uaW5nPC9jb2xvcj4RZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQECjxzaXplPTA+c0sIY29uc3RhbnQEKjwvc2l6ZT48Y29sb3I9d2hpdGU+U2tpbGxzIHJ1bm5pbmc8L2NvbG9yPhd0b3dlci5tb2R1bGUudXNlaW5zdGFudAhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgMAAAARY29tcGFyaXNvbi5kb3VibGUQdG93ZXIuaGVhbHRoLm1heAhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAAAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQKPHNpemU9MD5zSwhjb25zdGFudAQHPC9zaXplPg==

It's not hard to make this yourself, but it's a bit tricky to get the conditions right so you don't get extra copies when clicking "restart," so here's a canonical example. It's straightforward to edit this to change or add more abilities if you need to.

Factory automation

v3.2.1

This set of scripts manages auto-crafting of everything in the factory. It is an (extremely rewritten) fork of Xenos' factory package, with 1/5 the size, 1/3 the scripts, only 16 maximum actions and scannable item-groups built-in to the base package.

Import code:

HkQwUy5mYWN0b3J5IHYzLjIuMTpydW5fcmVjaXBlcwAAAAAAAAAADwAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQcPHNpemU9MD48bGluZS1oZWlnaHQ9MD5mZGF0YQhjb25zdGFudASgYV9fXyAgIDAgICAwICAgMCAgIDA1MTkgICAwICAgMCAgIDAgICAwNTI5ICAgMCAgIDAgICAwICAgMDU1OSAgIDAgICAwICAgMCAgIDA1NjkgICAwICAgMCAgIDAgICAwNTI4ICAgMCAgIDAgICAwICAgMDU1OCAgIDAgICAwICAgMCAgIDA1NjggICAwICAgMCAgIDAgICAwNzc4ICAgMCAgIDAgICAwICAgMDUxNyAgIDAgICAwICAgMCAgIDA1MjcgICAwICAgMCAgIDAgICAwNTU3ICAgMCAgIDAgICAwICAgMDU2NyAgIDAgICAwICAgMCAgIDA3NzcgICAwICAgMCAgIDAgICAwNTE2ICAgMCAgIDAgICAwICAgMDUyNiAgIDAgICAwICAgMCAgIDA1NTYgICAwICAgMCAgIDAgICAwNTY2ICAgMCAgIDAgICAwICAgMDc3NiAgIDAgICAwICAgMCAgIDA1MTUgICAwICAgMCAgIDAgICAwNTI1ICAgMCAgIDAgICAwICAgMDU1NSAgIDAgICAwICAgMCAgIDA1NjUgICAwICAgMCAgIDAgICAwNzc1ICAgMCAgIDAgICAwICAgMDUxNCAgIDAgICAwICAgMCAgIDA1MjQgICAwICAgMCAgIDAgICAwNTQ0ICAgMCAgIDAgICAwICAgMDU1NCAgIDAgICAwICAgMCAgIDA1NjQgICAwICAgMCAgIDAgICAwNTc0NTc0YTU0NGE1MjRhICAgMDExNDU3NGE1NDRhNTI0YSAgIDAxMjQ1NzRhNTQ0YTUyNGEgICAwMTQ0NTc0YTU0NGE1MjRhICAgMDE2NDU3NGE1NDRhNTI0YSAgIDAxNzQ1NzRhNTQ0YTUyNGEgICAwMTg0NTc0YTU0NGE1MjRhICAgMDE5NDU3NGE1NDRhNTI0YSAgIDAyMDQ1NzRhNTQ0YTUyNGEgICAwMjI0NTc0YTU0NGE1MjRhICAgMDIzNDU3NGE1NDRhNTI0YSAgIDAyNDQ1NzRhNTQ0YTUyNGEgICAwMjU0NTc0YTU0NGE1MjRhICAgMDI2NCAgIDAgICAwICAgMCAgIDA3NzQgICAwICAgMCAgIDAgICAwNTEzICAgMCAgIDAgICAwICAgMDUyMyAgIDAgICAwICAgMCAgIDA1NDMgICAwICAgMCAgIDAgICAwNTUzICAgMCAgIDAgICAwICAgMDU2MyAgIDAgICAwICAgMCAgIDA1NzMxMTRhNTczYTU0M2E1MjNhMTEzMTI0YTU3M2E1NDNhNTIzYTEyMzE0NGE1NzNhNTQzYTUyM2ExNDMxNjRhNTczYTU0M2E1MjNhMTYzMTc0YTU3M2E1NDNhNTIzYTE3MzE4NGE1NzNhNTQzYTUyM2ExODMxOTRhNTczYTU0M2E1MjNhMTkzMjA0YTU3M2E1NDNhNTIzYTIwMzIyNGE1NzNhNTQzYTUyM2EyMjMyMzRhNTczYTU0M2E1MjNhMjMzMjQ0YTU3M2E1NDNhNTIzYTI0MzI1NGE1NzNhNTQzYTUyM2EyNTMyNjRhNTczYTU0M2E1MjNhMjYzICAgMCAgIDAgICAwICAgMDc3MyAgIDAgICAwICAgMCAgIDAyNzIgICAwICAgMCAgIDAgICAwMjgyICAgMCAgIDAgICAwICAgMDI5MiAgIDAgICAwICAgMCAgIDA1MTIgICAwICAgMCAgIDAgICAwNTIyICAgMCAgIDAgICAwICAgMDU0MiAgIDAgICAwICAgMCAgIDA1NTIgICAwICAgMCAgIDAgICAwNTYyICAgMCAgIDAgICAwICAgMDU3MjExM2E1NzJhNTQyYTUyMmExMTIxMjNhNTcyYTU0MmE1MjJhMTIyMTQzYTU3MmE1NDJhNTIyYTE0MjE2M2E1NzJhNTQyYTUyMmExNjIxNzNhNTcyYTU0MmE1MjJhMTcyMTgzYTU3MmE1NDJhNTIyYTE4MjE5M2E1NzJhNTQyYTUyMmExOTIyMDNhNTcyYTU0MmE1MjJhMjAyMjIzYTU3MmE1NDJhNTIyYTIyMjIzM2E1NzJhNTQyYTUyMmEyMzIyNDNhNTcyYTU0MmE1MjJhMjQyMjUzYTU3MmE1NDJhNTIyYTI1MjI2M2E1NzJhNTQyYTUyMmEyNjIgICAwICAgMCAgIDAgICAwNzcyMjcyYiAgIDAgICAwICAgMDI3MTI4MmQgICAwICAgMCAgIDAyODEyOTJiICAgMCAgIDAgICAwMjkxICAgMCAgIDAgICAwICAgMDUxMSAgIDAgICAwICAgMCAgIDA1MjEgICAwICAgMCAgIDAgICAwNTQxICAgMCAgIDAgICAwICAgMDU1MSAgIDAgICAwICAgMCAgIDA1NjEgICAwICAgMCAgIDAgICAwNTcxMTEyYTU3MWE1NDFhNTIxYTExMTEyMmE1NzFhNTQxYTUyMWExMjExNDJhNTcxYTU0MWE1MjFhMTQxMTYyYTU3MWE1NDFhNTIxYTE2MTE3MmE1NzFhNTQxYTUyMWExNzExODJhNTcxYTU0MWE1MjFhMTgxMTkyYTU3MWE1NDFhNTIxYTE5MTIwMmE1NzFhNTQxYTUyMWEyMDEyMjJhNTcxYTU0MWE1MjFhMjIxMjMyYTU3MWE1NDFhNTIxYTIzMTI0MmE1NzFhNTQxYTUyMWEyNDEyNTJhNTcxYTU0MWE1MjFhMjUxMjYyYTU3MWE1NDFhNTIxYTI2MSAgIDAgICAwICAgMCAgIDA3NzEgICAwICAgMCAgIDAgICAwMTMwMTMwYTU1OWE1MjlhICAgMDMwOTEzMGE1NTlhNTI5YSAgIDAzMTkxMzBhNTU5YTUyOWEgICAwMzI5MTMwYTU1OWE1MjlhICAgMDMzOTEzMGE1NTlhNTI5YSAgIDAzNDkxMzBhNTU5YTUyOWEgICAwMzU5MTMwYTU1OWE1MjlhICAgMDM2OTEzMGE1NTlhNTI5YSAgIDAzNzkxMzBhNTU5YTUyOWEgICAwMzg5MTMwYTU1OWE1MjlhICAgMDM5OTExNGgyMzRiMzA5YjU2OWE2Njk1MjlhICAgMCAgIDAgICAwNjY5MzA5YTU1OGE1MjhhICAgMDMwODMxOWE1NThhNTI4YSAgIDAzMTgzMjlhNTU4YTUyOGEgICAwMzI4MzM5YTU1OGE1MjhhICAgMDMzODM0OWE1NThhNTI4YSAgIDAzNDgzNTlhNTU4YTUyOGEgICAwMzU4MzY5YTU1OGE1MjhhICAgMDM2ODM3OWE1NThhNTI4YSAgIDAzNzgyMzRlMzg5ZTM1OWMzMjlhNDU5NTY5YTUyOWEgICAwICAgMDQ1OTM4OWE1NThhNTI4YSAgIDAzODgzOTlhNTU4YTUyOGEgICAwMzk4MTc0bjMwOGI1NjhhNTI4YTY2ODMwOGE1NTdhNTI3YSAgIDAzMDczMThhNTU3YTUyN2EgICAwMzE3MzI4YTU1N2E1MjdhICAgMDMyNzMzOGE1NTdhNTI3YSAgIDAzMzczNDhhNTU3YTUyN2EgICAwMzQ3MzU4YTU1N2E1MjdhICAgMDM1NzM2OGE1NTdhNTI3YSAgIDAzNjczNzhhNTU3YTUyN2EgICAwMzc3MTc0YTE2NGIyMDRhMjM0YjQ0OTMwOWIzODlkMzU5YjMzOWI0NDkzMTlkMzQ5ZzM5OWIzMjlkNDQ5NDU5YTU2OWE1MjlhICAgMDQ0OTI1NGwzODllNDU5YjU2OWE3MTk1MjlhICAgMCAgIDAgICAwNzE5Mzg4YzM1OGMzMjhhNTY4YTQ1ODUyOGEgICAwICAgMCAgIDA0NTgzODhhNTU3YTUyN2EgICAwMzg3MjA0ZjExNGYxOTNnMzY4ZDQzODMxOGUzOThiNTY4YTUyOGE0MzgzOThhNTU3YTUyN2EgICAwMzk3MTEzZDIzM2IzMDdiNTY3YTY2NzUyN2EgICAwICAgMCAgIDA2NjczMDdhNTU2YTUyNmEgICAwMzA2MzE3YTU1NmE1MjZhICAgMDMxNjMyN2E1NTZhNTI2YSAgIDAzMjYzMzdhNTU2YTUyNmEgICAwMzM2MzQ3YTU1NmE1MjZhICAgMDM0NjM1N2E1NTZhNTI2YSAgIDAzNTYzNjdhNTU2YTUyNmEgICAwMzY2Mzc3YTU1NmE1MjZhICAgMDM3NjM5OWMzMjliNDQ5YTU2OWE3NDk1MjlhICAgMCAgIDAgICAwNzQ5Mzc5YzMyOWU0NDlhNTY5YTc1OTUyOWEgICAwICAgMCAgIDA3NTkzMDhiMzg4YjM1OGIzMzhiNDQ4MzE4ZDM0OGUzOThiMzI4YzQ0ODQ1OGE1NjhhNTI4YSAgIDA0NDgzODhjNDU4YjU2OGE1MjhhNzE4MjMzYzM4N2MzNTdjMzI3YTQ1NzU2N2E1MjdhICAgMCAgIDA0NTczODdhNTU2YTUyNmEgICAwMzg2MTEzZjIyM2gzNjdkMzE3ZTQzNzM5N2I1NjdhNTI3YSAgIDA0MzczOTdhNTU2YTUyNmEgICAwMzk2MTczajMwNmI1NjZhNTI2YTY2NjMwNmE1NTVhNTI1YSAgIDAzMDUzMTZhNTU1YTUyNWEgICAwMzE1MzI2YTU1NWE1MjVhICAgMDMyNTMzNmE1NTVhNTI1YSAgIDAzMzUzNDZhNTU1YTUyNWEgICAwMzQ1MzU2YTU1NWE1MjVhICAgMDM1NTM2NmE1NTVhNTI1YSAgIDAzNjUzNzZhNTU1YTUyNWEgICAwMzc1MTI0ajQ0OWI1NjlhNTI5YTcyOTcxOWE3NDkxICAgMCAgIDA3MjkyNDRkMTg0ZDM5OGMzMjhiNzQ4NDQ4YTU2OGE1MjhhICAgMDc0ODE0NGQyNjRiMTY0bDM3OGM3NTgzMjhkNDQ4YTU2OGE1MjhhNzU4MTczYTE2M2IyMDNhMjMzYjQ0NzMwN2EzODdiMzU3YjMzN2I0NDczMTdkMzQ3ZTM5N2IzMjdiNDQ3NDU3YTU2N2E1MjdhICAgMDQ0NzI1M2gzODdjNDU3YjU2N2E3MTc1MjdhICAgMCAgIDAgICAwNzE3Mzg2YzM1NmMzMjZhNTY2YTQ1NjUyNmEgICAwICAgMCAgIDA0NTYzODZhNTU1YTUyNWEgICAwMzg1MjAzZDE5MmczNjZkMzE2ZTQzNjM5NmI1NjZhNTI2YSAgIDA0MzYzOTZhNTU1YTUyNWEgICAwMzk1MTEyZDIzMmIzMDViNTY1YTY2NTUyNWEgICAwICAgMCAgIDA2NjUzMDVhNTU0YTUyNGEgICAwMzA0MzE1YTU1NGE1MjRhICAgMDMxNDMyNWE1NTRhNTI0YSAgIDAzMjQzMzVhNTU0YTUyNGEgICAwMzM0MzQ1YTU1NGE1MjRhICAgMDM0NDM1NWE1NTRhNTI0YSAgIDAzNTQzNjVhNTU0YTUyNGEgICAwMzY0Mzc1YTU1NGE1MjRhICAgMDM3NDQ0OGI1NjhhNTI4YTcxOGE3Mjg3NDgxICAgMCAgIDAgICAwNzI4Mzk3YzMyN2I0NDdhNTY3YTc0NzUyN2EgICAwICAgMCAgIDA3NDcxODRlMjY0aDM3N2MzMjdjNzU3NDQ3YTU2N2E1MjdhICAgMDc1NzMwNmEzODZiMzU2YjMzNmE0NDYzMTZkMzQ2ZTM5NmIzMjZiNDQ2NDU2YTU2NmE1MjZhICAgMDQ0NjM4NmM0NTZiNTY2YTUyNmE3MTYyMzJjMzg1YzM1NWMzMjVhNDU1NTY1YTUyNWEgICAwICAgMDQ1NTM4NWE1NTRhNTI0YSAgIDAzODQxMTJmMjIyaDM2NWQzMTVkNDM1Mzk1YjU2NWE1MjVhICAgMDQzNTM5NWE1NTRhNTI0YSAgIDAzOTQxNzJlMzA0YTU2NGE1MjRhNjY0MzA0YTU1M2E1MjNhICAgMDMwMzMxNGE1NTNhNTIzYSAgIDAzMTMzMjRhNTUzYTUyM2EgICAwMzIzMzM0YTU1M2E1MjNhICAgMDMzMzM0NGE1NTNhNTIzYSAgIDAzNDMzNTRhNTUzYTUyM2EgICAwMzUzMzY0YTU1M2E1MjNhICAgMDM2MzM3NGE1NTNhNTIzYSAgIDAzNzMxMjNqNDQ3YjU2N2E1MjdhNzI3NzE3YTc0NzEgICAwICAgMDcyNzI0M2QxODNkMzk2YzMyNmI3NDY0NDZhNTY2YTUyNmEgICAwNzQ2MTQzZDI2M2IxNjNoMzc2Yzc1NjMyNmM0NDZhNTY2YTUyNmE3NTYxNzJhMTYyYjIwMmEyMzJiNDQ1MzA1YTM4NWIzNTViMzM1YTQ0NTMxNWMzNDVlMzk1YjMyNWI0NDU0NTVhNTY1YTUyNWEgICAwNDQ1MjUyaDM4NWM0NTViNTY1YTcxNTUyNWEgICAwICAgMCAgIDA3MTUzODRjMzU0YjMyNGE1NjRhNDU0NTI0YSAgIDAgICAwICAgMDQ1NDM4NGE1NTNhNTIzYSAgIDAzODMyMDJkMTkxZzM2NGMzMTRkNDM0Mzk0YTU2NGE1MjRhICAgMDQzNDM5NGE1NTNhNTIzYSAgIDAzOTMxMTFkMjMxYjMwM2E1NjNhNjYzNTIzYSAgIDAgICAwICAgMDY2MzMwM2E1NTJhNTIyYSAgIDAzMDIzMTNhNTUyYTUyMmEgICAwMzEyMzIzYTU1MmE1MjJhICAgMDMyMjMzM2E1NTJhNTIyYSAgIDAzMzIzNDNhNTUyYTUyMmEgICAwMzQyMzUzYTU1MmE1MjJhICAgMDM1MjM2M2E1NTJhNTIyYSAgIDAzNjIzNzNhNTUyYTUyMmEgICAwMzcyNDQ2YjU2NmE1MjZhNzE2YTcyNjc0NjEgICAwICAgMCAgIDA3MjYzOTVjMzI1YjQ0NWE1NjVhNzQ1NTI1YSAgIDAgICAwICAgMDc0NTE4M2UyNjNoMzc1YzMyNWM3NTU0NDVhNTY1YTUyNWEgICAwNzU1MzA0YTM4NGIzNTRiMzM0YTQ0NDMxNGMzNDRkMzk0YjMyNGI0NDQ0NTRhNTY0YTUyNGEgICAwNDQ0Mzg0YzQ1NGI1NjRhNTI0YTcxNDIzMWMzODNiMzUzYjMyM2E0NTM1NjNhNTIzYSAgIDAgICAwNDUzMzgzYTU1MmE1MjJhICAgMDM4MjExMWYyMjFoMzYzYzMxM2Q0MzMzOTNhNTYzYTUyM2EgICAwNDMzMzkzYTU1MmE1MjJhICAgMDM5MjE3MWMzMDJhNTYyYTUyMmE2NjIzMDJhNTUxYTUyMWEgICAwMzAxMzEyYTU1MWE1MjFhICAgMDMxMTMyMmE1NTFhNTIxYSAgIDAzMjEzMzJhNTUxYTUyMWEgICAwMzMxMzQyYTU1MWE1MjFhICAgMDM0MTM1MmE1NTFhNTIxYSAgIDAzNTEzNjJhNTUxYTUyMWEgICAwMzYxMzcyYTU1MWE1MjFhICAgMDM3MTEyMmo0NDViNTY1YTUyNWE3MjU3MTVhNzQ1MSAgIDAgICAwNzI1MjQyZDE4MmIzOTRiMzI0Yjc0NDQ0NGE1NjRhNTI0YSAgIDA3NDQxNDJkMjYyYjE2MmgzNzRiNzU0MzI0YzQ0NGE1NjRhNTI0YTc1NDE3MWExNjFiMjAxYTIzMWI0NDMzMDNhMzgzYTM1M2IzMzNhNDQzMzEzYzM0M2QzOTNiMzIzYjQ0MzQ1M2E1NjNhNTIzYSAgIDA0NDMyNTFoMzgzYjQ1M2I1NjNhNzEzNTIzYSAgIDAgICAwICAgMDcxMzM4MmIzNTJhMzIyYTU2MmE0NTI1MjJhICAgMCAgIDAgICAwNDUyMzgyYTU1MWE1MjFhICAgMDM4MTM5MmE1NTFhNTIxYSAgIDAzOTE0NDRiNTY0YTUyNGE3MTRhNzI0NzQ0MSAgIDAgICAwICAgMDcyNDM5M2IzMjNiNDQzYTU2M2E3NDM1MjNhICAgMCAgIDAgICAwNzQzMTgyYjI2MmIzNzNiMzIzYzc1MzQ0M2E1NjNhNTIzYSAgIDA3NTMzMDJhMzgyYTM1MmIzMzJhNDQyMzEyYzM0MmQzOTJiMzIyYTQ0MjQ1MmE1NjJhNTIyYSAgIDA0NDIzODJiNDUyYjU2MmE1MjJhNzEyMTIxZDQ0M2I1NjNhNTIzYTcyMzcxM2E3NDMxICAgMCAgIDA3MjMyNDFkMTgxYjM5MmIzMjJiNzQyNDQyYTU2MmE1MjJhICAgMDc0MjE0MWQyNjFiMTYxZDM3MmI3NTIzMjJiNDQyYTU2MmE1MjJhNzUyNDQyYjU2MmE1MjJhNzEyYTcyMjc0MjEgICAwICAgMCAgIDA3MjIgICAwICAgMCAgIDAgICAwMTUwMjI0bDE5NGkxNTBiMTMwYjQzOTM2OWQzMTllMzk5ZDU2OWE0Mzk1MjlhICAgMCAgIDAgICAwNDM5MTUwYTEzMGoyNzJsMjgybDYzOTM5OWU1NjlhNTI5YSAgIDA2MzkyMzRnMTUwYTU2OGE1MjhhNjM4MTUwYTU2N2E1MjdhICAgMDYzNzIzM2UxNTBhNTY2YTUyNmE2MzYxNTBhNTY1YTUyNWEgICAwNjM1MjMyZTE1MGE1NjRhNTI0YTYzNDE1MGE1NjNhNTIzYSAgIDA2MzMyMzFlMTUwYTU2MmE1MjJhNjMyMTUwYTU2MWE1MjFhICAgMDYzMTE5NGcyOTJkMzY5YjM3OWU0MDkzODlnMzQ5ZjMyOWo1NjlhNDA5NTI5YTYzOWEgICAwICAgMDQwOTIwNG4yMjRkMzY4YjM3OGU0MDgzODhlMzQ4ZDM5OGMzMjhpNDA4NTY4YTUyOGE2MzhhICAgMDQwODE5M2UzNjdiMzc3ZTM4N2U0MDczNDdkMzk3YzMyN2g1NjdhNDA3NTI3YTYzN2EgICAwICAgMDQwNzIwM2UyMjNkMjkxZDM2NmI0MDYzNzZlMzg2ZTM5NmMzMjZoNDA2NTY2YTUyNmE2MzZhICAgMDQwNjE5MmUzNjViMzc1ZTM5NWM0MDUzMjVoNTY1YTUyNWE2MzVhNDA1MjAyZTIyMmQzNzRkMzk0YjQwNDMyNGg1NjRhNTI0YTYzNGE0MDQxOTFlMzkzYjMyM2g1NjNhNDAzNTIzYTYzM2EgICAwICAgMDQwMzIwMWMyMjFkMzkyYjMyMmc0MDI1NjJhNTIyYTYzMmEgICAwNDAyMzA5bDM4OWQzNTlmMzM5aTY0OTM0OWIzOTlkMzI5ZTQwOWw2NDk1NjlhNTI5YSAgIDAgICAwNjQ5MTQ0ZDE4NGIxNzRmMzA4bDY0ODM4OGQzNThmMzM4aTM0OGI2NDgzMjhkNDA4bDU2OGE1MjhhNjQ4MzA3ajM4N2QzNTdmMzM3aTY0NzM0N2IzMjdjNDA3bDU2N2E2NDc1MjdhICAgMCAgIDAgICAwNjQ3MTQzYjE4M2IxNzNkMzA2ajY0NjM4NmQzNTZmMzM2aDM0NmQ2NDYzMjZjNDA2bDU2NmE1MjZhNjQ2MzA1ajM4NWQzNTVmMzM1aDY0NTM0NWQzMjVjNDA1aDU2NWE2NDU1MjVhICAgMCAgIDAgICAwNjQ1MTgyYjE3MmQzMDRoMzg0ZDY0NDM1NGUzMzRoMzQ0YzMyNGM2NDQ0MDRoNTY0YTUyNGEgICAwNjQ0MzAzaDM4M2QzNTNlMzMzaDY0MzM0M2MzMjNjNDAzaDU2M2E2NDM1MjNhICAgMCAgIDAgICAwNjQzMTgxYjE3MWIzMDJoMzgyZDY0MjM1MmQzMzJoMzQyYzMyMmI2NDI0MDJoNTYyYTUyMmEgICAwNjQyNTY5YTUyOWE2NDlhICAgMDQ4OTU2OGE1MjhhNjQ4YSAgIDA0ODg1NjdhNTI3YTY0N2EgICAwNDg3NTY2YTUyNmE2NDZhICAgMDQ4NjU2NWE1MjVhNjQ1YSAgIDA0ODU1NjRhNTI0YTY0NGEgICAwNDg0NTYzYTUyM2E2NDNhICAgMDQ4MzU2MmE1MjJhNjQyYSAgIDA0ODIgICAwICAgMCAgIDAgICAwMjEwMjcxYiAgIDAgICAwICAgMDI3MDI4MWEgICAwICAgMCAgIDAyODAyOTFhICAgMCAgIDAgICAwMjkwICAgMCAgIDAgICAwICAgMDUwMDUwMGE1NjhhNTI4YSAgIDA0NzA0NzBhICAgMCAgIDAgICAwNTE4ICAgMCAgIDAgICAwICAgMDUxMCAgIDAgICAwICAgMCAgIDA1MjAgICAwICAgMCAgIDAgICAwNTMwMTc0ZjE2NGYyMDRmMTE0ZjQxNDI1NGQyMjRkMTk0ZDIzNGQ0MTQxNTBqMTMwajI3MmYzODliNDE0NTMwYTU0NGE1MjRhICAgMDQxNDQxNGg1NjlhNTI5YSAgIDA1OTkyODJkNDE0YjU2OWE1MjlhNjI5MjQ0ZjE0NGM0MTRoNTY4YTU5ODUyOGEgICAwICAgMCAgIDA1OTg0MTRiNTY4YTUyOGEgICAwNjI4MjQ0ZDE0NGMxODRhMjY0YjQxMzEyNGIxNzNkMTYzZDIwM2Q0MTMxMTNkMjUzYjIyM2IxOTNiNDEzMjMzYjE1MGoyOTJmMzc4YjQxMzM3OWIzMDhhMzA5YjM4N2I0MTMzODhiMzU4YzM1OWMzMzhjNDEzMzM5YzMxOGUzMTllNDE0bDQxMzUzMGE1NDNhNTIzYSAgIDA0MTMxMjRiMjU0ZDM2OWgzNzlpNjc5NDg5aTQ0OWQ0NTliNTY5YTY3OTUyOWE2NjlhNTk5YSAgIDA2Nzk0MzlwNTY5YTUyOWE3NTlhNjA5NjI5YSAgIDAgICAwICAgMDYwOTE4NGIyNjRiMzY4aDM3OGk2NzgzOThkNDg4aTQ0OGQ0NThiNjc4NTY4YTUyOGE2NjhhNTk4YTY3ODQzOGw1NjhhNTI4YTc1OGE2MDg2MjhhICAgMCAgIDAgICAwNjA4NDEzZjU2N2E1MjdhICAgMDU5NzI3MWgyOTFiNDEzYjU2N2E2Mjc1MjdhICAgMCAgIDAgICAwNjI3MjQzYjE0M2E0MTNmNTY2YTU5NjUyNmEgICAwICAgMCAgIDA1OTYyODFkNDEzYjU2NmE1MjZhNjI2MjQzYjE0M2ExODNhMjYzYjQxMjEyM2IxNzJkMTYyZDIwMmQ0MTIxMTJkMjUyYjIyMmIxOTJiNDEyMjMyYjI3MWQyODFkMjkxYjQxMjM3NmIzNzdiMzA2YTMwN2E0MTIzODZiMzU3YzMxNmUzMTdlNDEyNDEzbDUzMGE1NDJhNTIyYTQxMjU2OWE1MjlhNjc5YTcyOTI2NTk2MDkyICAgMCAgIDAgICAwNjU5NTY4YTUyOGE2NzhhNzI4MjY1ODYwODIgICAwICAgMCAgIDA2NTgxMjNiMjUzZDM2N2gzNzdpNjc3Mzk3ZDQ4N2k0NDdkNDU3YjY3NzU2N2E1MjdhNjY3YTU5N2E2Nzc0MzdqNTY3YTUyN2E3NTdhNjA3NjI3YSAgIDAgICAwICAgMDYwNzE4M2IyNjNiMjgxZjM2Nmg2NzYzNzZpMzQ2YjM5NmQ0ODZpNjc2NDQ2ZDQ1NmI1NjZhNTI2YTY3NjY2NmE1OTZhICAgMCAgIDA2NzY0MzZlNTY2YTUyNmE3NTZhNjA2NjI2YSAgIDAgICAwICAgMDYwNjQxMmI1NjVhNTI1YSAgIDA1OTU0MTJkNTY1YTUyNWEgICAwNjI1MjQyYjE0MmE0MTJkNTY0YTU5NDUyNGEgICAwICAgMCAgIDA1OTQ0MTJiNTY0YTUyNGEgICAwNjI0MjQyYjE0MmExODJhMjYyYjQxMTEyMmIxNzFiMTYxYjIwMWI0MTExMTFkMjUxYjIyMWIxOTFiNDExMjMxYjI3MGEzNzNiMzc0YjQxMTM3NWIzMDNhMzA0YTMwNWE0MTEzODJiMzgzYjM4NGIzODViNDExMzUzYjM1NGIzNTVjMzU2YzQxMTMzM2IzMzRiMzM1YjMzNmI0MTEzMzdjMzE0ZDMxNWQ0MTJoNDExNTMwYTU0MWE1MjFhICAgMDQxMTU2N2E1MjdhNjc3YTcyNzI2NTc2MDcyICAgMCAgIDAgICAwNjU3NTY2YTUyNmE2NzZhNzI2MjY1NjYwNjIgICAwICAgMCAgIDA2NTYxMjJiMjUyZDM2NWgzNzVpNjc1MzQ1YjM5NWQ0ODVpNDQ1ZDY3NTQ1NWI1NjVhNTI1YTY2NWE2NzU1OTVhICAgMCAgIDAgICAwNjc1NDM1ZDU2NWE1MjVhNzU1YTYwNTYyNWEgICAwICAgMCAgIDA2MDUxNDJiMTgyYTI2MmIzNjRoNjc0Mzc0ZzM0NGIzOTRkNDg0aTY3NDQ0NGQ0NTRiNTY0YTUyNGE2NzQ2NjRhNTk0YSAgIDAgICAwNjc0NDM0YzU2NGE1MjRhNzU0YTYwNDYyNGEgICAwICAgMCAgIDA2MDQ0MTFiNTYzYTUyM2EgICAwNTkzMjcwZDI5MGE0MTFkNTYzYTYyMzUyM2EgICAwICAgMCAgIDA2MjMyNDFiMTQxYTQxMWQ1NjJhNTkyNTIyYSAgIDAgICAwICAgMDU5MjQxMWI1NjJhNTIyYSAgIDA2MjI1NjVhNTI1YTY3NWE3MjUyNjU1NjA1MiAgIDAgICAwICAgMDY1NTU2NGE1MjRhNjc0YTcyNDI2NTQ2MDQyICAgMCAgIDAgICAwNjU0MTIxYjI1MWQyNzBkMzYzaDY3MzM3M2czNDNiMzkzZDQ4M2k2NzM0NDNkNDUzYjU2M2E1MjNhNjczNjYzYTU5M2EgICAwICAgMDY3MzQzM2I1NjNhNTIzYTc1M2E2MDM2MjNhICAgMCAgIDAgICAwNjAzMTQxYjI2MWIyOTBmMzYyaDY3MjM3MmczNDJiMzkyZDQ4Mmk2NzI0NDJkNDUyYjU2MmE1MjJhNjcyNjYyYTU5MmEgICAwICAgMDY3MjU2M2E1MjNhNjczYTcyMzI2NTM2MDMyICAgMCAgIDAgICAwNjUzICAgMCAgIDAgICAwICAgMDU0MCAgIDAgICAwICAgMCAgIDA1NTAzMDFhNTUwYTUyMGEgICAwMzAwMzExYTU1MGE1MjBhICAgMDMxMDMyMWE1NTBhNTIwYSAgIDAzMjAzMzFhNTUwYTUyMGEgICAwMzMwMzQxYTU1MGE1MjBhICAgMDM0MDM1MWE1NTBhNTIwYSAgIDAzNTAzNjFhNTUwYTUyMGEgICAwMzYwMzcxYTU1MGE1MjFhICAgMDM3MDM4MWE1NTBhNTIwYSAgIDAzODAzOTFhNTUwYTUyMGEgICAwMzkwMzcwYjU2MWE1MjFhICAgMDQyMCAgIDAgICAwICAgMCAgIDA1NjAzODBhMzUwYTMyMGE1NjBhNDUwNTIwYSAgIDAgICAwICAgMDQ1MDMwMGEzODBhMzUwYjMzMGE0NDAzMTBjMzQwYzM5MGIzMjBhNDQwNDUwYTU2MGE1MjBhICAgMDQ0MCAgIDAgICAwICAgMCAgIDA1NzAxMTFhNTcwYTU0MGE1MjBhMTEwMTIxYTU3MGE1NDBhNTIwYTEyMDE0MWE1NzBhNTQwYTUyMGExNDAxNjFhNTcwYTU0MGE1MjBhMTYwMTcxYTU3MGE1NDBhNTIwYTE3MDE4MWE1NzBhNTQwYTUyMGExODAxOTFhNTcwYTU0MGE1MjBhMTkwMjAxYTU3MGE1NDBhNTIwYTIwMDIyMWE1NzBhNTQwYTUyMGEyMjAyMzFhNTcwYTU0MGE1MjBhMjMwMjQxYTU3MGE1NDBhNTIwYTI0MDI1MWE1NzBhNTQwYTUyMGEyNTAyNjFhNTcwYTU0MGE1MjBhMjYwMjAxYjE5MGYzNjJjMzEyZDQzMjM5MmE1NjJhNTIyYSAgIDA0MzIxOTBkMzkxYjMyMWc1NjFhNDAxNTIxYTYzMWEgICAwICAgMDQwMTIwMGIzNjBiMzEwYzM5MGE0MzA1NjBhNTIwYSAgIDAgICAwNDMwMTEwZDIyMGYzNjFiMzExZDQzMTM5MWE1NjFhNTIxYSAgIDA0MzEyMzBiMzgxYjM1MWEzMjFhNDUxNTYxYTUyMWEgICAwICAgMDQ1MTExMGQyMzBiMzAxYTU2MWE2NjE1MjFhICAgMCAgIDAgICAwNjYxMjQxYjE0MGIxNDFhMTgwYTQxMDE4MWEyNjBhMTIwYTEyMWI0MTAxNzBjMTYwYzIwMGMxMTBkNDEwMjUwYjIyMGIxOTBiMjMwYjQxMDI4MGQyOTBiMzcwYjM3MWI0MTAzNzJiMzAwYTMwMWEzMDJhNDEwMzgwYjM4MWIzNTBhMzUxYTQxMDM1MmEzMzBhMzMxYjMzMmI0MTAzMTNkNDExZDUzMGE1NDBhNDEwNTIwYSAgIDAgICAwICAgMDQxMDQzMmE1NjJhNTIyYTc1MmE2MDI2MjJhICAgMCAgIDAgICAwNjAyMzAxZTM4MWQzNTFkMzMxaDY0MTM0MWMzMjFiNDAxaDU2MWE2NDE1MjFhICAgMCAgIDAgICAwNjQxMTcwYTE2MGEyMDBhMjMwYjQ0MTMwMWEzODFhMzUxYjMzMWE0NDEzMTFjMzQxZDM5MWIzMjFhNDQxNDUxYTU2MWE1MjFhICAgMDQ0MTI1MGYzODFiNDUxYjU2MWE3MTE1MjFhICAgMCAgIDAgICAwNzExNDEwYTU2MWE1MjFhICAgMDU5MTI4MGE0MTBiNTYxYTUyMWE2MjE1NjJhNTIyYTY3MmE3MjIyNjUyNjAyMiAgIDAgICAwICAgMDY1MjU2MWE1MjFhNjQxYSAgIDA0ODEyNDBiMTQwYTE4MGIzOTFiNzQxMzIxYjQ0MWE1NjFhNTIxYTc0MTE4MWMyNjFkMzcxYTMyMWI3NTE0NDFhNTYxYTUyMWEgICAwNzUxMjQwYjE0MGIxODBhMjYwYTY3MTEyMGIyNTBkMjgwZDM2MWY2NzEzNzFlMzQxYjM5MWQ0ODFpNjcxNDQxZDQ1MWI1NjFhNTIxYTY3MTY2MWE1OTFhICAgMCAgIDA2NzExMjBjNDQxYjQyMGE1NjFhNzIxNTIxYTcxMWE3NDExICAgMDcyMTQzMWE1NjFhNTIxYTc1MWE2MDE2MjFhICAgMCAgIDAgICAwNjAxNDIwZjU2MWE1MjFhNjcxYTY1MTcyMTI2MDEyICAgMCAgIDA2NTEyMTBmICAgMCAgIDAgICAwNTgwNDEwYTU2MGE1MjBhICAgMDU5MDIxMGYgICAwICAgMCAgIDA2MTA0MTBiNTYwYTUyMGEgICAwNjIwMjMwZDE1MGE1NjBhNTIwYTYzMDIyMGQzOTBhMzIwZDU2MGE0MDA1MjBhNjMwYSAgIDAgICAwNDAwMTcwYjMwMGYzODBkMzUwZTY0MDMzMGczNDBjMzIwYjQwMGg2NDA1NjBhNTIwYSAgIDAgICAwNjQwNTYwYTUyMGE2NDBhICAgMDQ4MDMwMGE1NjBhNTIwYSAgIDA2NjAzNjBkMzcwZDM0MGIzOTBkNjcwNDgwaTQ0MGQ0NTBiNTYwYTY3MDUyMGE2NjBhNTkwYSAgIDA2NzAyMTB0ICAgMCAgIDAgICAwNjgwNjgwYSAgIDAgICAwICAgMDQ5MDI3MWIyNzJkMjkyYiAgIDA3MDA3MDBhICAgMCAgIDAgICAwNjkwNTAwaDY5MGEgICAwICAgMDQ2MDQ2MGE2NTlhICAgMCAgIDA3Njk0NjBhNjU4YSAgIDAgICAwNzY4NDYwYTY1N2EgICAwICAgMDc2NzQ2MGE2NTZhICAgMCAgIDA3NjY0NjBhNjU1YSAgIDAgICAwNzY1NDYwYTY1NGEgICAwICAgMDc2NDQ2MGE2NTNhICAgMCAgIDA3NjM0NjBhNjUyYSAgIDAgICAwNzYyNDYwYTY1MWEgICAwICAgMDc2MTM4MGE0NTBiNTYwYTUyMGE3MTAzMTVkMzE2ZTMxN2UzMThlNzMwMzE5ZTQzMmI0MzNkNDM0ZjczMDQzNWg0MzZqNDM3ajQzOGw3MzA0MzlwNDUwZDQ1MWQ0NTJkNzMwNDUzZDQ1NGQ0NTVkNDU2ZDczMDQ1N2Q0NThkNDU5ZDU2MGE3MzA1MjBhICAgMCAgIDAgICAwNzMwMzkwYTMyMGI0NDBhNTYwYTc0MDUyMGEgICAwICAgMCAgIDA3NDA0NDBiNTYwYTUyMGE3MTBhNzIwNzQwMSAgIDAgICAwICAgMDcyMDE0MGExODBiMjYwZDE2MGI3NTAzNzBhMzIwYjQ0MGE1NjBhNzUwNTIwYSAgIDAgICAwICAgMDc1MDQzMGE1NjBhNTIwYTc1MGE2MDA2MjBhICAgMCAgIDAgICAwNjAwNTYwYTUyMGE2NzBhNzIwMjY1MDYwMDIgICAwICAgMCAgIDA2NTA0NjBhNjUwYSAgIDAgICAwNzYwICAgMCAgIDAgICAwICAgMDc3MDI3MmQyODJkMjkyYSAgIDA3ODA0OTBpNTgwYTYxMGEgICAwNzkwMzEwYzMxMWQzMTJkMzEzZDgwMDMxNGQ0MzBhNDMxYjQ0MGE4MDA0NDFhNDQyYTQ0M2E0NDRhODAwNDQ1YTQ0NmE0NDdhNDQ4YTgwMDQ0OWE0NzBoNzMwYSAgIDA4MDAQbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQJbG9vcF9kYXRhBmNvbmNhdAlzdWJzdHJpbmcIY29uc3RhbnQEqA9wcm9kdWNlci5hcmNhZGUgICAgICAgICAgICAxcHJvZHVjZXIuY29uc3RydWN0aW9uRmlybSAgMXByb2R1Y2VyLmV4b3RpY2dlbXMgICAgICAgIDFwcm9kdWNlci5mYWN0b3J5ICAgICAgICAgICAxcHJvZHVjZXIuZ2VtcyAgICAgICAgICAgICAgMXByb2R1Y2VyLmhlYWRxdWFydGVycyAgICAgIDFwcm9kdWNlci5sYWJvcmF0b3J5ICAgICAgICAxcHJvZHVjZXIubWluZSAgICAgICAgICAgICAgMXByb2R1Y2VyLm11c2V1bSAgICAgICAgICAgIDFwcm9kdWNlci5wb3dlcnBsYW50ICAgICAgICAxcHVtcGtpbi5wcm9kdWNlciAgICAgICAgICAgMXByb2R1Y2VyLnNoaXB5YXJkICAgICAgICAgIDFwcm9kdWNlci5zdGF0dWVvZmN1Ym9zICAgICAxcHJvZHVjZXIudG93biAgICAgICAgICAgICAgMXByb2R1Y2VyLnRyYWRpbmdwb3N0ICAgICAgIDFwcm9kdWNlci53b3Jrc2hvcCAgICAgICAgICAxYm9vc3Rlci5hY2NlbGVyYXRpb24gICAgICAgMWJvb3N0ZXIucHJvZHVjdGlvbi5yZWd1bGFyIDFib29zdGVyLnJlc291cmNlLmRyb3BzICAgICAxbWFjaGluZS5hc3NlbWJsZXIgICAgICAgICAgMW1hY2hpbmUudHJhbnNwb3J0YmVsdCAgICAgIDFtYWNoaW5lLmJvaWxlciAgICAgICAgICAgICAxbWFjaGluZS5jcnVzaGVyICAgICAgICAgICAgMW1hY2hpbmUuY3V0dGVyICAgICAgICAgICAgIDFtYWNoaW5lLm1peGVyICAgICAgICAgICAgICAxbWFjaGluZS5vdmVuICAgICAgICAgICAgICAgMW1hY2hpbmUucHJlc3NlciAgICAgICAgICAgIDFtYWNoaW5lLnJlZmluZXJ5ICAgICAgICAgICAxbWFjaGluZS5zaGFwZXIgICAgICAgICAgICAgMWJsb2NrICAgICAgICAgICAgICAgICAgICAgIDFjaGlwICAgICAgICAgICAgICAgICAgICAgICAxaGFtbWVyICAgICAgICAgICAgICAgICAgICAgMWNhYmxlLmluc3VsYXRlZCAgICAgICAgICAgIDFtb3RvciAgICAgICAgICAgICAgICAgICAgICAxcHVtcCAgICAgICAgICAgICAgICAgICAgICAgMWR1c3QucmFpbmJvdyAgICAgICAgICAgICAgIDFzYXBsaW5nLnJ1YmJlciAgICAgICAgICAgICAxcGxhdGUuc3RhY2sgICAgICAgICAgICAgICAgMXB1bXBraW4uc3RhY2sgICAgICAgICAgICAgIDFzYXBsaW5nLnZvaWQgICAgICAgICAgICAgICAxb3JlICAgICAgICAgICAgICAgICAgICAgICAgMm9yZSAgICAgICAgICAgICAgICAgICAgICAgIDJvcmUgICAgICAgICAgICAgICAgICAgICAgICAyb3JlICAgICAgICAgICAgICAgICAgICAgICAgMm9yZSAgICAgICAgICAgICAgICAgICAgICAgIDJvcmUgICAgICAgICAgICAgICAgICAgICAgICAyb3JlICAgICAgICAgICAgICAgICAgICAgICAgMnB1bXBraW4uYW50aSAgICAgICAgICAgICAgIDBwbGF0ZS5jaXJjdWl0ICAgICAgICAgICAgICAwY2FibGUgICAgICAgICAgICAgICAgICAgICAgMHB1bXBraW4uY2FydmVkICAgICAgICAgICAgIDBjaXJjdWl0ICAgICAgICAgICAgICAgICAgICAwYmxvY2suZGVuc2UgICAgICAgICAgICAgICAgMHBsYXRlLmRlbnNlICAgICAgICAgICAgICAgIDBpbmdvdCAgICAgICAgICAgICAgICAgICAgICAwcGlwZSAgICAgICAgICAgICAgICAgICAgICAgMHBsYXRlICAgICAgICAgICAgICAgICAgICAgIDBwdW1wa2luLnBsYXRlICAgICAgICAgICAgICAwaW5nb3QucmFpbmJvdyAgICAgICAgICAgICAgMHBsYXRlLnJhaW5ib3cgICAgICAgICAgICAgIDByaW5nICAgICAgICAgICAgICAgICAgICAgICAwcm9kICAgICAgICAgICAgICAgICAgICAgICAgMHBsYXRlLnJ1YmJlciAgICAgICAgICAgICAgIDBzY3JldyAgICAgICAgICAgICAgICAgICAgICAwd2lyZSAgICAgICAgICAgICAgICAgICAgICAgMGR1c3QgICAgICAgICAgICAgICAgICAgICAgIDBsdW1wICAgICAgICAgICAgICAgICAgICAgICAyZXNzZW5jZS52b2lkICAgICAgICAgICAgICAgMHB1bXBraW4gICAgICAgICAgICAgICAgICAgIDBydWJiZXIgICAgICAgICAgICAgICAgICAgICAwDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AhwAAAAIY29uc3RhbnQEASoOYXJpdGhtZXRpYy5pbnQDczJpCXN1YnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQcPHNpemU9MD48bGluZS1oZWlnaHQ9MD5mZGF0YQ5hcml0aG1ldGljLmludAhjb25zdGFudAITAAAACGNvbnN0YW50BAEqDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAhjb25zdGFudAICAAAACGNvbnN0YW50Av////8IY29uc3RhbnQEAS0IY29uc3RhbnQCCwAAAAhjb25zdGFudAIcAAAACXN1YnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQcPHNpemU9MD48bGluZS1oZWlnaHQ9MD5mZGF0YQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAEqCGNvbnN0YW50AhMAAAAIY29uc3RhbnQCFgAAABFnbG9iYWwuZG91YmxlLnNldAZjb25jYXQIY29uc3RhbnQEAmNxCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCLwAAAAhjb25zdGFudAIDAAAADnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uc3RyaW5nCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCLwAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50BAI9PQNpMnMOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmZhY3RvcnlfdGFyZ2V0CGNvbnN0YW50BAErCGNvbnN0YW50AmQAAAARZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEFWZhY3RvcnlfdGFyZ2V0X2Ftb3VudBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLnN0cmluZwlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQJbG9vcF9kYXRhCGNvbnN0YW50AhwAAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAQCPT0Jc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIvAAAACGNvbnN0YW50AgMAAAARZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQJbG9vcF9kYXRhCGNvbnN0YW50Ai8AAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQBKwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAC2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIfAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQEASoDaTJkDnN0cmluZy5pbmRleE9mCGNvbnN0YW50BFEwMTIzYSAgIGIgICBjICAgZCAgIGUgICBmICAgZyAgIGggICBpICAgaiAgIGsgICBsICAgbSAgIG4gICBvICAgcCAgIHEgICByICAgcyAgIHQJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIiAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAADQPwhjb25zdGFudAQBKwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAC2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIjAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQEASoDaTJkDnN0cmluZy5pbmRleE9mCGNvbnN0YW50BDEwMTIzYSAgIGIgICBjICAgZCAgIGUgICBmICAgZyAgIGggICBpICAgaiAgIGsgICBsCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCJgAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA0D8IY29uc3RhbnQEASsKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCJwAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50BAEqA2kyZA5zdHJpbmcuaW5kZXhPZghjb25zdGFudAQxMDEyM2EgICBiICAgYyAgIGQgICBlICAgZiAgIGcgICBoICAgaSAgIGogICBrICAgbAlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQJbG9vcF9kYXRhCGNvbnN0YW50AioAAAAIY29uc3RhbnQCAQAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAANA/CGNvbnN0YW50BAErCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAALZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQJbG9vcF9kYXRhCGNvbnN0YW50AisAAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKgNpMmQOc3RyaW5nLmluZGV4T2YIY29uc3RhbnQEMTAxMjNhICAgYiAgIGMgICBkICAgZSAgIGYgICBnICAgaCAgIGkgICBqICAgayAgIGwJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIuAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAADQPwhjb25zdGFudAQBLQ50ZXJuYXJ5LmRvdWJsZQ9jb21wYXJpc29uLmJvb2wRY29tcGFyaXNvbi5zdHJpbmcJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIcAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQEAj09CXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCLwAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50BAJ8fBFjb21wYXJpc29uLnN0cmluZwlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQJbG9vcF9kYXRhCGNvbnN0YW50AhsAAAAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQCPT0IY29uc3RhbnQEATIIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGUOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5zdHJpbmcJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIvAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAj09CGNvbnN0YW50BAI3Nghjb25zdGFudAMAAAAAAADwvwhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAlsb29wX2RhdGEIY29uc3RhbnQEASAIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZghjb25zdGFudAQLIDAxMjM0NTY3ODkJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECWxvb3BfZGF0YQhjb25zdGFudAIxAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAFpDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAICAAAADmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEATwIY29uc3RhbnQCjwIAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAIKAAAAEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AvcCAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC9wIAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBKwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgEDAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEAS0OdGVybmFyeS5kb3VibGUOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEAj09CGNvbnN0YW50AgoAAAAIY29uc3RhbnQDAAAAAAAAAAATZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAdpbnQubWluCGNvbnN0YW50AgkAAAANbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAEEARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC/QEAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllchFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAL9AQAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAErCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAAKZG91YmxlLm1pbhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXILZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC9wIAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAAAAQA5nZW5lcmljLmdvdG9pZghjb25zdGFudAILAAAAD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQCPT0IY29uc3RhbnQCAQAAAAhjb25zdGFudAQBfBFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQCPT0IY29uc3RhbnQDAAAAAAAAAAARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAAMAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllchFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAIAAwAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAErCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC9wIAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAL9AQAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBV90aWVyDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCBwAAAA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBPghjb25zdGFudAIAAAAAEWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BAs8c2l6ZT0wPmZhIw50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQFY3E1MTAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEATwRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNxNzYwBmNvbmNhdAZjb25jYXQIY29uc3RhbnQEFDxjb2xvcj0jZmIzPk1pc3NpbmcgA2QycxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQFY3E3NjAIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNxNTEwCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BDAgVDEgZHVzdDxicj5hbmQvb3IgaGlnaGVyIHRpZXIgZHVzdC9vcmUhPC9jb2xvcj4OdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNxODAwCGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAAAAAAAABmNvbmNhdAZjb25jYXQIY29uc3RhbnQEFDxjb2xvcj0jZmIzPk1pc3NpbmcgA2QycxFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQFY3E4MDAIY29uc3RhbnQEECBydWJiZXIhPC9jb2xvcj4OdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNxNzgwCGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAAAAAAAABmNvbmNhdAZjb25jYXQIY29uc3RhbnQEFDxjb2xvcj0jZmIzPk1pc3NpbmcgA2QycxFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQFY3E3ODAIY29uc3RhbnQEFiB2b2lkIGVzc2VuY2UhPC9jb2xvcj4OdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNxNzkwCGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAAAAAAAABmNvbmNhdAZjb25jYXQIY29uc3RhbnQEFDxjb2xvcj0jZmIzPk1pc3NpbmcgA2QycxFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQFY3E3OTAIY29uc3RhbnQEFCBwdW1wa2luKHMpITwvY29sb3I+CGNvbnN0YW50BAARZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEBmZoaWRlMghjb25zdGFudAQVPC9saW5lLWhlaWdodD48L3NpemU+EWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AmQAAAAIY29uc3RhbnQEASsOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmZhY3RvcnlfdGFyZ2V0DnRlcm5hcnkuZG91YmxlD3N0cmluZy5jb250YWlucxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLPHNpemU9MD5mYSMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAAAAARZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQ=;GkQwUy5mYWN0b3J5IHYzLjIuMTpwcm9kdWNlAgAAAAVrZXkuYQVrZXkuZAEAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAdmYWN0b3J5EAAAAA9nZW5lcmljLmV4ZWN1dGUOdGVybmFyeS5zdHJpbmcPc3RyaW5nLmNvbnRhaW5zDnNjcmlwdC5pbXB1bHNlCGNvbnN0YW50BARrZXkuCGNvbnN0YW50BBVEMFMuZmFjdG9yeSB2My4yLjE6dWkIY29uc3RhbnQEDSMjI2JhZG5hbWUjIyMOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCEAAAAA9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBGtleS4TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQfRDBTLmZhY3RvcnkgdjMuMi4xOnByb2R1Y2UgZHVzdAxnZW5lcmljLnN0b3AIY29uc3RhbnQEH0QwUy5mYWN0b3J5IHYzLjIuMTpwcm9kdWNlIGR1c3QQbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQNbWFjaGluZV9jaHVuawlzdWJzdHJpbmcIY29uc3RhbnQEaDAwMG92ZW4gICAgICAwMDVwcmVzc2VyICAgMTIwYm9pbGVyICAgIDE3NXNoYXBlciAgICAzMjVyZWZpbmVyeSAgNDc1Y3V0dGVyICAgIDUzMGFzc2VtYmxlciA1ODBlbmQgICAgICAgDWxvY2FsLmludC5nZXQIY29uc3RhbnQEC21hY2hpbmVfaWR4CGNvbnN0YW50AhAAAAAQbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQMbWFjaGluZV9uYW1lCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA1tYWNoaW5lX2NodW5rCGNvbnN0YW50AgMAAAAOYXJpdGhtZXRpYy5pbnQOc3RyaW5nLmluZGV4T2YQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQNbWFjaGluZV9jaHVuawhjb25zdGFudAQBIAhjb25zdGFudAIAAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgMAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQBaQNzMmkJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDW1hY2hpbmVfY2h1bmsIY29uc3RhbnQCAAAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50AgAAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQLbWFjaGluZV9pZHgOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLbWFjaGluZV9pZHgIY29uc3RhbnQEASsIY29uc3RhbnQCDQAAAAxnZW5lcmljLmdvdG8LdGVybmFyeS5pbnQPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BANlbmQQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQMbWFjaGluZV9uYW1lCGNvbnN0YW50AhAAAAAIY29uc3RhbnQCDgAAABBsb2NhbC5zdHJpbmcuc2V0CGNvbnN0YW50BA9zb3VyY2VfbmFtZV9yYXcJc3Vic3RyaW5nCGNvbnN0YW50BJoBZHVzdC5yYWluYm93ICBpbmdvdCAgICAgICAgIGluZ290LnJhaW5ib3cgcGxhdGUuc3RhY2sgICBydWJiZXIgICAgICAgIHB1bXBraW4uc3RhY2sgYmxvY2sgICAgICAgICBwdW1wa2luICAgICAgIHBsYXRlICAgICAgICAgcm9kICAgICAgICAgICBjYWJsZSAgICAgICAgIA5hcml0aG1ldGljLmludA5zdHJpbmcuaW5kZXhPZghjb25zdGFudAQLMDEyMzQ1Njc4OWEJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDHByb2R1Y2VfZGF0YQhjb25zdGFudAIBAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBKghjb25zdGFudAIOAAAACGNvbnN0YW50Ag4AAAAPZmFjdG9yeS5wcm9kdWNlCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA9zb3VyY2VfbmFtZV9yYXcIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA9zb3VyY2VfbmFtZV9yYXcIY29uc3RhbnQEASAIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZghjb25zdGFudAQLIDAxMjM0NTY3ODkJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDHByb2R1Y2VfZGF0YQhjb25zdGFudAIEAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAApkb3VibGUubWluC2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDHByb2R1Y2VfZGF0YQhjb25zdGFudAICAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQEAS8DczJkCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAxwcm9kdWNlX2RhdGEIY29uc3RhbnQCAAAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50AwAAAAAAAAAAE2ZhY3RvcnkuaXRlbXMuY291bnQJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQED3NvdXJjZV9uYW1lX3Jhdwhjb25zdGFudAIAAAAADnN0cmluZy5pbmRleE9mEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQED3NvdXJjZV9uYW1lX3Jhdwhjb25zdGFudAQBIAhjb25zdGFudAIAAAAADnN0cmluZy5pbmRleE9mCGNvbnN0YW50BAsgMDEyMzQ1Njc4OQlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQMcHJvZHVjZV9kYXRhCGNvbnN0YW50AgQAAAAIY29uc3RhbnQCAQAAAAhjb25zdGFudAIAAAAAEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDG1hY2hpbmVfbmFtZRFnbG9iYWwuZG91YmxlLnNldAZjb25jYXQIY29uc3RhbnQEAmNxCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAxwcm9kdWNlX2RhdGEIY29uc3RhbnQCAgAAAAhjb25zdGFudAIDAAAAEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDHByb2R1Y2VfZGF0YQhjb25zdGFudAICAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUDczJkCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAxwcm9kdWNlX2RhdGEIY29uc3RhbnQCAAAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50BAEqGmZhY3RvcnkubWFjaGluZS5pdGVtLmNvdW50EGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDG1hY2hpbmVfbmFtZQ1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAFpDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEASsIY29uc3RhbnQCBQAAABBsb2NhbC5zdHJpbmcuc2V0CGNvbnN0YW50BAxwcm9kdWNlX2RhdGEJc3Vic3RyaW5nCGNvbnN0YW50BMQEMTA2OTAxMTY3MDEyNzAwMTM2NDAxNDczMDE1NjgwMTE2NzExMzY0MTExNjcyMTM2NDIxMTY3MzEzNjQzMTE2NzQxMzY0NDExNjc1MTM2NDUxMTY3NjEzNjQ2MTE2NzcxMzY0NzExNjc4MTM2NDgxMTY3OTEzNjQ5MTY2MzAxNzU4MDE2NjMxMTY2MzIxNjYzMzE2NjM0MTY2MzUxNjYzNjE2NjM3MTY2MzgxNjYzOTIxNzIwMTg2NjAxOTcxMDIxNzIxMTg2NjExOTcxMTIxNzIyMTg2NjIxOTcxMjIxNzIzMTg2NjMxOTcxMzIxNzI0MTg2NjQxOTcxNDIxNzI1MTg2NjUxOTcxNTIxNzI2MTg2NjYxOTcxNjIxNzI3MTg2NjcxOTcxNzIxNzI4MTg2NjgxOTcxODIxNzI5MTg2NjkxOTcxOTIxNjAwMTg1OTAxYTc1MDIxNjAxMTg1OTExYTc1MTIxNjAyMTg1OTIxYTc1MjIxNjAzMTg1OTMxYTc1MzIxNjA0MTg1OTQxYTc1NDIxNjA1MTg1OTUxYTc1NTIxNjA2MTg1OTYxYTc1NjIxNjA3MTg1OTcxYTc1NzIxNjA4MTg1OTgxYTc1ODIxNjA5MTg1OTkxYTc1OTQ5NzQwMTc2MTA0OTc0MTQ5NzQyNDk3NDM0OTc0NDQ5NzQ1NDk3NDY0OTc0NzQ5NzQ4NDk3NDkxYTYyMDFhNjIxMWE2MjIxYTYyMzFhNjI0MWE2MjUxYTYyNjFhNjI3MWE2MjgxYTYyOQ1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50AgUAAAAMZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEAj49A3MyaQlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQNbWFjaGluZV9jaHVuawhjb25zdGFudAINAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAIFAAAAC3Rlcm5hcnkuaW50FmZhY3RvcnkubWFjaGluZS5hY3RpdmUQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQMbWFjaGluZV9uYW1lCGNvbnN0YW50AgUAAAALdGVybmFyeS5pbnQRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQMcHJvZHVjZV9kYXRhCGNvbnN0YW50AgIAAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQCDQAAAAhjb25zdGFudAIKAAAAEWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BAs8c2l6ZT0wPmZhIw50ZXJuYXJ5LnN0cmluZw9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBGtleS4OdGVybmFyeS5zdHJpbmcPc3RyaW5nLmNvbnRhaW5zDnNjcmlwdC5pbXB1bHNlCGNvbnN0YW50BAVrZXkuYQhjb25zdGFudAQBMQhjb25zdGFudAQCLTERZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECzxzaXplPTA+ZmEj;H0QwUy5mYWN0b3J5IHYzLjIuMTpwcm9kdWNlIGR1c3QAAAAAAAAAABAAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQFX3RpZXIOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9wcmV2aW91c19hbW91bnQTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQDb3JlDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50Av0BAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEB2NydXNoZXIRZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC9wIAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllchFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAL3AgAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudAhjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC/QEAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllchFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAL9AQAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudAhjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDAAAAA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAI+PQhjb25zdGFudAIKAAAACGNvbnN0YW50BAJ8fBFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAIBAwAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAI8PQhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQCfHwWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQFbWl4ZXINZmFjdG9yeS5jcmFmdAhjb25zdGFudAQEbHVtcA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcgpkb3VibGUubWluCmRvdWJsZS5taW4RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAAAQQBNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQMAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudBNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcgpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudBFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAIBAwAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAVtaXhlchFnbG9iYWwuZG91YmxlLnNldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAL3AgAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AvcCAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQPcHJldmlvdXNfYW1vdW50CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXANbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIRZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQMAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllchFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAIBAwAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudAhjb25zdGFudAQBLRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AhAAAAAPY29tcGFyaXNvbi5ib29sFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEBG92ZW4IY29uc3RhbnQEAXwPY29tcGFyaXNvbi5ib29sEWNvbXBhcmlzb24uZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDnRlcm5hcnkuZG91YmxlDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAIKAAAACGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgEDAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAdpbnQubWluDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50AgkAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAEEAIY29uc3RhbnQEAT4RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEASoKZG91YmxlLm1pbghjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AokCAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEASYRY29tcGFyaXNvbi5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBPBFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBKhFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAKJAgAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudBNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEZHVzdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcgpkb3VibGUubWluEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED3ByZXZpb3VzX2Ftb3VudAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAKJAgAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBV90aWVyCGNvbnN0YW50BARvdmVuEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AokCAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCiQIAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcghjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9wcmV2aW91c19hbW91bnQIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVfdGllcgxnZW5lcmljLmdvdG8LdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFX3RpZXIIY29uc3RhbnQEAj49CGNvbnN0YW50AgoAAAAIY29uc3RhbnQCYwAAAAhjb25zdGFudAIBAAAA;GEQwUy5mYWN0b3J5IHYzLjIuMTpjcmFmdAIAAAAFa2V5LncFa2V5LnMBAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeQ4AAAAPZ2VuZXJpYy5leGVjdXRlDnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucw5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAQEa2V5Lghjb25zdGFudAQVRDBTLmZhY3RvcnkgdjMuMi4xOnVpCGNvbnN0YW50BA0jIyNiYWRuYW1lIyMjDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50Ag4AAAAPc3RyaW5nLmNvbnRhaW5zDnNjcmlwdC5pbXB1bHNlCGNvbnN0YW50BARrZXkuEGxvY2FsLnN0cmluZy5zZXQIY29uc3RhbnQECGl0ZW1kYXRhCXN1YnN0cmluZwhjb25zdGFudATgCHByb2R1Y2VyLmFyY2FkZSAgICAgICAgICAgIDRwcm9kdWNlci5jb25zdHJ1Y3Rpb25GaXJtICA0cHJvZHVjZXIuZXhvdGljZ2VtcyAgICAgICAgMHByb2R1Y2VyLmZhY3RvcnkgICAgICAgICAgIDRwcm9kdWNlci5nZW1zICAgICAgICAgICAgICAwcHJvZHVjZXIuaGVhZHF1YXJ0ZXJzICAgICAgNHByb2R1Y2VyLmxhYm9yYXRvcnkgICAgICAgIDRwcm9kdWNlci5taW5lICAgICAgICAgICAgICA0cHJvZHVjZXIubXVzZXVtICAgICAgICAgICAgNHByb2R1Y2VyLnBvd2VycGxhbnQgICAgICAgIDRwdW1wa2luLnByb2R1Y2VyICAgICAgICAgICAwcHJvZHVjZXIuc2hpcHlhcmQgICAgICAgICAgNHByb2R1Y2VyLnN0YXR1ZW9mY3Vib3MgICAgIDRwcm9kdWNlci50b3duICAgICAgICAgICAgICA0cHJvZHVjZXIudHJhZGluZ3Bvc3QgICAgICAgNHByb2R1Y2VyLndvcmtzaG9wICAgICAgICAgIDRib29zdGVyLmFjY2VsZXJhdGlvbiAgICAgICAyYm9vc3Rlci5wcm9kdWN0aW9uLnJlZ3VsYXIgMmJvb3N0ZXIucmVzb3VyY2UuZHJvcHMgICAgIDJtYWNoaW5lLmFzc2VtYmxlciAgICAgICAgICA5bWFjaGluZS50cmFuc3BvcnRiZWx0ICAgICAgOW1hY2hpbmUuYm9pbGVyICAgICAgICAgICAgIDltYWNoaW5lLmNydXNoZXIgICAgICAgICAgICA5bWFjaGluZS5jdXR0ZXIgICAgICAgICAgICAgOW1hY2hpbmUubWl4ZXIgICAgICAgICAgICAgIDltYWNoaW5lLm92ZW4gICAgICAgICAgICAgICA5bWFjaGluZS5wcmVzc2VyICAgICAgICAgICAgOW1hY2hpbmUucmVmaW5lcnkgICAgICAgICAgIDltYWNoaW5lLnNoYXBlciAgICAgICAgICAgICA5YmxvY2sgICAgICAgICAgICAgICAgICAgICAgOWNoaXAgICAgICAgICAgICAgICAgICAgICAgIDRoYW1tZXIgICAgICAgICAgICAgICAgICAgICAwY2FibGUuaW5zdWxhdGVkICAgICAgICAgICAgOW1vdG9yICAgICAgICAgICAgICAgICAgICAgIDlwdW1wICAgICAgICAgICAgICAgICAgICAgICA5ZHVzdC5yYWluYm93ICAgICAgICAgICAgICAgMHNhcGxpbmcucnViYmVyICAgICAgICAgICAgIDBwbGF0ZS5zdGFjayAgICAgICAgICAgICAgICA5cHVtcGtpbi5zdGFjayAgICAgICAgICAgICAgMHNhcGxpbmcudm9pZCAgICAgICAgICAgICAgIDAOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCHAAAAAhjb25zdGFudAQBKg5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAEvCGNvbnN0YW50AgoAAAAIY29uc3RhbnQCHAAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9wcmV2aW91c19hbW91bnQTZmFjdG9yeS5pdGVtcy5jb3VudAlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQIaXRlbWRhdGEIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAhpdGVtZGF0YQhjb25zdGFudAQBIAhjb25zdGFudAIAAAAADmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEA21vZAhjb25zdGFudAIKAAAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAANZmFjdG9yeS5jcmFmdAlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQIaXRlbWRhdGEIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAhpdGVtZGF0YQhjb25zdGFudAQBIAhjb25zdGFudAIAAAAADmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEA21vZAhjb25zdGFudAIKAAAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAARZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCbgAAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQCY3EDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50Am4AAAAIY29uc3RhbnQEASsNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAJuAAAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAlzdWJzdHJpbmcQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQIaXRlbWRhdGEIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAhpdGVtZGF0YQhjb25zdGFudAQBIAhjb25zdGFudAIAAAAADmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEA21vZAhjb25zdGFudAIKAAAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQPcHJldmlvdXNfYW1vdW50DWxvY2FsLmludC5zZXQIY29uc3RhbnQEAWkOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQBKwt0ZXJuYXJ5LmludBFjb21wYXJpc29uLnN0cmluZwNpMnMOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAIY29uc3RhbnQEAj09CXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAhpdGVtZGF0YQhjb25zdGFudAIbAAAACGNvbnN0YW50AgEAAAAOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCCgAAAAhjb25zdGFudAQBLQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAAhjb25zdGFudAIBAAAADGdlbmVyaWMuZ290bwt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAAhjb25zdGFudAQCIT0IY29uc3RhbnQCAAAAAAt0ZXJuYXJ5LmludBFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAJuAAAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQCBAAAAAhjb25zdGFudAIHAAAAC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEATwIY29uc3RhbnQCkAEAAAhjb25zdGFudAIDAAAACGNvbnN0YW50AgkAAAAQbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQKZ3JvdXBfZGF0YQhjb25zdGFudASBE3w1MjA0MTAyNDAxNDAxODAyNjAxMjAxNzAxNjAyMDAxMTAyNTAyMjAxOTAyMzAzNjAzMDAzODAzNTAzMzAzMTAzNDAzOTAzMjA0MzA0ODA0NDA0NTA0MDA2NTA2NzA2NDA2MzA2NjA2MDA3NTA3MjA3MTA3NDA1OTA2MjA3MzB8NTIxNDExMjQxMTQxMTgxMjYxMTIxMTcxMTYxMjAxMTExMjUxMjIxMTkxMjMxMzYxMzcwMzcxMzAxMzgxMzUxMzMxMzExMzQxMzkxMzIxNDMxNDgxNDQxNDUxNDIwNDAxNjUxNjcxNjQxNjMxNjYxNjAxNzUxNzIxNzExNzQxNTkxNjIxfDUyMjQxMjI0MjE0MjE4MjI2MjEyMjE3MjE2MjIwMjExMjI1MjIyMjE5MjIzMjM2MjM3MjMwMjM4MjM1MjMzMjMxMjM0MjM5MjMyMjQzMjQ4MjQ0MjQ1MjQwMjY1MjY3MjY0MjYzMjY2MjYwMjc1MjcyMjcxMjc0MjU5MjYyMnw1MjM0MTMyNDMxNDMxODMyNjMxMjMxNzMxNjMyMDMxMTMyNTMyMjMxOTMyMzMzNjMzNzMzMDMzODMzNTMzMzMzMTMzNDMzOTMzMjM0MzM0ODM0NDM0NTM0MDM2NTM2NzM2NDM2MzM2NjM2MDM3NTM3MjM3MTM3NDM1OTM2MjN8NTI0NDE0MjQ0MTQ0MTg0MjY0MTI0MTc0MTY0MjA0MTE0MjU0MjI0MTk0MjM0MzY0Mzc0MzA0Mzg0MzU0MzM0MzE0MzQ0Mzk0MzI0NDM0NDg0NDQ0NDU0NDA0NjU0Njc0NjQ0NjM0NjY0NjA0NzU0NzI0NzE0NzQ0NTk0NjI0fDUyNTM2NTM3NTMwNTM4NTM1NTMzNTMxNTM0NTM5NTMyNTQzNTQ4NTQ0NTQ1NTQwNTY1NTY3NTY0NTYzNTY2NTYwNTc1NTcyNTcxNTc0NTU5NTYyNXw1MjYzNjYzNzYzMDYzODYzNTYzMzYzMTYzNDYzOTYzMjY0MzY0ODY0NDY0NTY0MDY2NTY2NzY2NDY2MzY2NjY2MDY3NTY3MjY3MTY3NDY1OTY2MjZ8NTI3MzY3Mzc3MzA3Mzg3MzU3MzM3MzE3MzQ3Mzk3MzI3NDM3NDg3NDQ3NDU3NDA3NjU3Njc3NjQ3NjM3NjY3NjA3NzU3NzI3NzE3NzQ3NTk3NjI3fDUyODM2ODM3ODMwODM4ODM1ODMzODMxODM0ODM5ODMyODQzODQ4ODQ0ODQ1ODQwODY1ODY3ODY0ODYzODY2ODYwODc1ODcyODcxODc0ODU5ODYyODQ3MHw1MjkzNjkzNzkzMDkzODkzNTkzMzkzMTkzNDkzOTkzMjk0Mzk0ODk0NDk0NTk0MDk2NTk2Nzk2NDk2Mzk2Njk2MDk3NTk3Mjk3MTk3NDk1OTk2Mjl8NTMwNDEwNDExNDEyNDEzNDE0fDU0MDQxMDI0MDE0MDE4MDI2MDEyMDE3MDE2MDIwMDExMDI1MDIyMDE5MDIzMHw1NDE0MTEyNDExNDExODEyNjExMjExNzExNjEyMDExMTEyNTEyMjExOTEyMzF8NTQyNDEyMjQyMTQyMTgyMjYyMTIyMTcyMTYyMjAyMTEyMjUyMjIyMTkyMjMyfDU0MzQxMzI0MzE0MzE4MzI2MzEyMzE3MzE2MzIwMzExMzI1MzIyMzE5MzIzM3w1NDQ0MTQyNDQxNDQxODQyNjQxMjQxNzQxNjQyMDQxMTQyNTQyMjQxOTQyMzR8NTUwMzYwMzcwMzAwMzgwMzUwMzMwMzEwMzQwMzkwMzIwfDU1MTM2MTM3MTMwMTM4MTM1MTMzMTMxMTM0MTM5MTMyMXw1NTIzNjIzNzIzMDIzODIzNTIzMzIzMTIzNDIzOTIzMjJ8NTUzMzYzMzczMzAzMzgzMzUzMzMzMzEzMzQzMzkzMzIzfDU1NDM2NDM3NDMwNDM4NDM1NDMzNDMxNDM0NDM5NDMyNHw1NTUzNjUzNzUzMDUzODUzNTUzMzUzMTUzNDUzOTUzMjV8NTU2MzY2Mzc2MzA2Mzg2MzU2MzM2MzE2MzQ2Mzk2MzI2fDU1NzM2NzM3NzMwNzM4NzM1NzMzNzMxNzM0NzM5NzMyN3w1NTgzNjgzNzgzMDgzODgzNTgzMzgzMTgzNDgzOTgzMjh8NTU5MzY5Mzc5MzA5Mzg5MzU5MzM5MzE5MzQ5Mzk5MzI5fDU2MDQzMDQ4MDQ0MDQ1MDQwMDY1MDY3MDY0MDYzMDY2MDYwMDc1MDcyMDcxMDc0MDU5MDYyMDczMHw1NjE0MzE0ODE0NDE0NTE0MjA0MDE2NTE2NzE2NDE2MzE2NjE2MDE3NTE3MjE3MTE3NDE1OTE2MjF8NTYyNDMyNDgyNDQyNDUyNDAyNjUyNjcyNjQyNjMyNjYyNjAyNzUyNzIyNzEyNzQyNTkyNjIyfDU2MzQzMzQ4MzQ0MzQ1MzQwMzY1MzY3MzY0MzYzMzY2MzYwMzc1MzcyMzcxMzc0MzU5MzYyM3w1NjQ0MzQ0ODQ0NDQ0NTQ0MDQ2NTQ2NzQ2NDQ2MzQ2NjQ2MDQ3NTQ3MjQ3MTQ3NDQ1OTQ2MjR8NTY1NDM1NDg1NDQ1NDU1NDA1NjU1Njc1NjQ1NjM1NjY1NjA1NzU1NzI1NzE1NzQ1NTk1NjI1fDU2NjQzNjQ4NjQ0NjQ1NjQwNjY1NjY3NjY0NjYzNjY2NjYwNjc1NjcyNjcxNjc0NjU5NjYyNnw1Njc0Mzc0ODc0NDc0NTc0MDc2NTc2Nzc2NDc2Mzc2Njc2MDc3NTc3Mjc3MTc3NDc1OTc2Mjd8NTY4NDM4NDg4NDQ4NDU4NDA4NjU4Njc4NjQ4NjM4NjY4NjA4NzU4NzI4NzE4NzQ4NTk4NjI4NDcwfDU2OTQzOTQ4OTQ0OTQ1OTQwOTY1OTY3OTY0OTYzOTY2OTYwOTc1OTcyOTcxOTc0OTU5OTYyOXw1NzAyNDAxNDAxODAyNjAxMjAxNzAxNjAyMDAxMTAyNTAyMjAxOTAyMzB8NTcxMjQxMTQxMTgxMjYxMTIxMTcxMTYxMjAxMTExMjUxMjIxMTkxMjMxfDU3MjI0MjE0MjE4MjI2MjEyMjE3MjE2MjIwMjExMjI1MjIyMjE5MjIzMnw1NzMyNDMxNDMxODMyNjMxMjMxNzMxNjMyMDMxMTMyNTMyMjMxOTMyMzN8NTc0MjQ0MTQ0MTg0MjY0MTI0MTc0MTY0MjA0MTE0MjU0MjI0MTk0MjM0fA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAFpDmFyaXRobWV0aWMuaW50DnN0cmluZy5pbmRleE9mEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECmdyb3VwX2RhdGEGY29uY2F0CGNvbnN0YW50BAF8A2kycw5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQIY29uc3RhbnQEASsIY29uc3RhbnQCZAAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQBaQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAErCGNvbnN0YW50AgMAAAAMZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEATwIY29uc3RhbnQCBAAAAAhjb25zdGFudAIOAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BApncm91cF9kYXRhDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQCAQAAAAhjb25zdGFudAQCPT0IY29uc3RhbnQEAXwIY29uc3RhbnQCDQAAAAt0ZXJuYXJ5LmludBFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxCXN1YnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BApncm91cF9kYXRhDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAIOAAAACGNvbnN0YW50AgsAAAARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQIY29uc3RhbnQDAAAAAAAAAAARZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQECzxzaXplPTA+ZmEjDnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucw5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAQEa2V5Lg50ZXJuYXJ5LnN0cmluZw9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBWtleS53CGNvbnN0YW50BAExCGNvbnN0YW50BAItMRFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLPHNpemU9MD5mYSM=;F0QwUy5mYWN0b3J5IHYzLjIuMTppbml0AgAAAAZ3YWtldXAMb3Blbi5mYWN0b3J5AQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkPAAAAD2dlbmVyaWMuZXhlY3V0ZQhjb25zdGFudAQVRDBTLmZhY3RvcnkgdjMuMi4xOnVpDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50Ag4AAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQIY29uc3RhbnQEAj09CGNvbnN0YW50AwAAAAAAAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC1RFMi4yOnN0YXJ0Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0dXJiby5jeWNsZXMubWF4B2ludC5tYXgOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHR1cmJvLmN5Y2xlcy5tYXgOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDHR1cmJvLmN5Y2xlcwhjb25zdGFudAQBKwhjb25zdGFudAKgDwAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDHRhcmdldF92YWx1ZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEAmNxA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAJkAAAACGNvbnN0YW50BAErDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA5mYWN0b3J5X3RhcmdldBNnZW5lcmljLmV4ZWN1dGVzeW5jDnRlcm5hcnkuc3RyaW5nEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeQ50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAx0YXJnZXRfdmFsdWUIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEGkQwUy5mYWN0b3J5IHYzLjIuMTpwcm9kdWNlCGNvbnN0YW50BB5EMFMuZmFjdG9yeSB2My4yLjE6cnVuX3JlY2lwZXMIY29uc3RhbnQEDSMjI2JhZG5hbWUjIyMMZ2VuZXJpYy5zdG9wDnRlcm5hcnkuc3RyaW5nEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDHRhcmdldF92YWx1ZQhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQaRDBTLmZhY3RvcnkgdjMuMi4xOnByb2R1Y2UIY29uc3RhbnQEHkQwUy5mYWN0b3J5IHYzLjIuMTpydW5fcmVjaXBlcxNnZW5lcmljLmV4ZWN1dGVzeW5jDnRlcm5hcnkuc3RyaW5nD2NvbXBhcmlzb24uYm9vbBFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAx0YXJnZXRfdmFsdWUIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAiYmEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeQhjb25zdGFudAQYRDBTLmZhY3RvcnkgdjMuMi4xOmNyYWZ0CGNvbnN0YW50BA0jIyNiYWRuYW1lIyMjDGdlbmVyaWMuc3RvcA50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAx0YXJnZXRfdmFsdWUIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEGEQwUy5mYWN0b3J5IHYzLjIuMTpjcmFmdAhjb25zdGFudAQNIyMjYmFkbmFtZSMjIw5nbG9iYWwuaW50LnNldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQLdGVybmFyeS5pbnQRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmZhY3RvcnlfdGFyZ2V0CGNvbnN0YW50AgAAAAAPZ2VuZXJpYy5leGVjdXRlDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA5mYWN0b3J5X3RhcmdldAhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQVRDBTLmZhY3RvcnkgdjMuMi4xOnVpCGNvbnN0YW50BA0jIyNiYWRuYW1lIyMjEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBVmYWN0b3J5X3RhcmdldF9hbW91bnQIY29uc3RhbnQDAAAAAAAAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQKVEUyLjI6c3RvcA5nZW5lcmljLmdvdG9pZgt0ZXJuYXJ5LmludBFjb21wYXJpc29uLmRvdWJsZQpkb3VibGUubWF4EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBVmYWN0b3J5X3RhcmdldF9hbW91bnQRZ2xvYmFsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAJjcQNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAIOAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeRFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQDZnMjCGNvbnN0YW50BAc8L3NpemU+;FUQwUy5mYWN0b3J5IHYzLjIuMTp1aQEAAAAFa2V5LmYBAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeRAAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDnR1cmJvLnJlZ2lzdGVyDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA50dXJiby5yZWdpc3Rlcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAErC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nCXN1YnN0cmluZw93b3JrZXIubmFtZS5nZXQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQCAAAAAAhjb25zdGFudAIJAAAACGNvbnN0YW50BAIhPQhjb25zdGFudAQJW2ZhY3RvcnldCGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAICAAAAD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQEATwIY29uc3RhbnQCZAAAAAhjb25zdGFudAQCJiYRY29tcGFyaXNvbi5zdHJpbmcJc3Vic3RyaW5nD3dvcmtlci5uYW1lLmdldA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAIAAAAACGNvbnN0YW50AgkAAAAIY29uc3RhbnQEAiE9CGNvbnN0YW50BAlbZmFjdG9yeV0IY29uc3RhbnQEAnx8D2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQEAj49CGNvbnN0YW50AmQAAAAIY29uc3RhbnQEAiYmDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAE8CGNvbnN0YW50AsgAAAAIY29uc3RhbnQEAiYmD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludBB3b3JrZXIuZ3JvdXAuZ2V0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAEtCGNvbnN0YW50AmQAAAAIY29uc3RhbnQEAj09CGNvbnN0YW50Av////8IY29uc3RhbnQEAnx8D3N0cmluZy5jb250YWlucwlzdWJzdHJpbmcPd29ya2VyLm5hbWUuZ2V0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAEtCGNvbnN0YW50AmQAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50BAFbDWxvY2FsLmludC5zZXQIY29uc3RhbnQEBmN1cnNvcgdpbnQubWluCGNvbnN0YW50AgkAAAAHaW50Lm1heAhjb25zdGFudAIAAAAADmFyaXRobWV0aWMuaW50A3MyaQlzdWJzdHJpbmcPd29ya2VyLm5hbWUuZ2V0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50AhQAAAAIY29uc3RhbnQCAQAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50BAErC3Rlcm5hcnkuaW50D3N0cmluZy5jb250YWlucw5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAQIOnByb2R1Y2UDczJpEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAs8c2l6ZT0wPmZhIwhjb25zdGFudAIAAAAACGNvbnN0YW50AgAAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQFY291bnQKZG91YmxlLm1pbghjb25zdGFudAMAAADgzxJjQQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAPA/EWFyaXRobWV0aWMuZG91YmxlA3MyZAlzdWJzdHJpbmcPd29ya2VyLm5hbWUuZ2V0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50AgkAAAAIY29uc3RhbnQCBwAAAAhjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBKw50ZXJuYXJ5LmRvdWJsZQ9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBjpjcmFmdANpMmQOYXJpdGhtZXRpYy5pbnQDczJpEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAs8c2l6ZT0wPmZhIwhjb25zdGFudAIAAAAACGNvbnN0YW50BAEqDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29uc3RhbnQEA3Bvdw5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZjdXJzb3IIY29uc3RhbnQEAS0IY29uc3RhbnQCAwAAAAhjb25zdGFudAMAAAAAAAAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAhjYXRlZ29yeQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludANzMmkJc3Vic3RyaW5nD3dvcmtlci5uYW1lLmdldA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAIRAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBLQt0ZXJuYXJ5LmludA9zdHJpbmcuY29udGFpbnMGY29uY2F0DnNjcmlwdC5pbXB1bHNlA2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZjdXJzb3IIY29uc3RhbnQEBzpjcmFmdDEDczJpEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAs8c2l6ZT0wPmZhIwhjb25zdGFudAIAAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQEASsIY29uc3RhbnQCBQAAAAhjb25zdGFudAQDbW9kCGNvbnN0YW50AgUAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQEaXRlbQNzMmkOdGVybmFyeS5zdHJpbmcPc3RyaW5nLmNvbnRhaW5zBmNvbmNhdA5zY3JpcHQuaW1wdWxzZQNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29yCGNvbnN0YW50BAc6Y3JhZnQxCXN1YnN0cmluZwhjb25zdGFudAQKMTMyMDMwNDE1MQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAhjYXRlZ29yeQhjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50AgIAAAAJc3Vic3RyaW5nDnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucwZjb25jYXQOc2NyaXB0LmltcHVsc2UDaTJzDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBmN1cnNvcghjb25zdGFudAQHOmNyYWZ0MA50ZXJuYXJ5LnN0cmluZw9zdHJpbmcuY29udGFpbnMRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECzxzaXplPTA+ZmEjCGNvbnN0YW50BAItMQhjb25zdGFudASMATAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODAwMjAyMTIyMjMyNDI1MjYyNzI4MTkzMDMxMzIzMzM0MzUzNjM3MzgzOTI5MTM0MjQzNDQ0NTQ2NDE0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NDcxMzEzMTMxMzEzCGNvbnN0YW50BIwBMTgwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcyODE5MjAyMTIyMjMyNDI1MjYyNzM5MjkzMDMxMzIzMzM0MzUzNjM3MzgxMzQ2NDE0MjQzNDQ0NTY0NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzEzMTMxMzEzMTMIY29uc3RhbnQEjAEwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTEzNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0MTMxMzEzMTMxMw5hcml0aG1ldGljLmludANzMmkJc3Vic3RyaW5nD3dvcmtlci5uYW1lLmdldA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAISAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQCDQAAAAhjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQCAAAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAx2aXNpYmxlX3RpZXIHaW50Lm1heAhjb25zdGFudAIAAAAAB2ludC5taW4OYXJpdGhtZXRpYy5pbnQDczJpCXN1YnN0cmluZwhjb25zdGFudARGNDQwNDA0NDQ0NDA0NDQ0NDIyMjk5OTk5OTk5OTk5NDA5OTkwMDkwMDk5MDQ5OTQwOTkwOTk5OTk5MDAwOTkwOTk5ODAwMA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BARpdGVtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKwt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wPc3RyaW5nLmNvbnRhaW5zBmNvbmNhdA5zY3JpcHQuaW1wdWxzZQNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29yCGNvbnN0YW50BAc6Y3JhZnQyCGNvbnN0YW50BAImJhFjb21wYXJpc29uLnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLPHNpemU9MD5mYSMIY29uc3RhbnQEAj09CGNvbnN0YW50BAItMQhjb25zdGFudAL/////CGNvbnN0YW50AgAAAAAOYXJpdGhtZXRpYy5pbnQDczJpCXN1YnN0cmluZw93b3JrZXIubmFtZS5nZXQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQCEAAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQEASsLdGVybmFyeS5pbnQPc3RyaW5nLmNvbnRhaW5zBmNvbmNhdA5zY3JpcHQuaW1wdWxzZQNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29yCGNvbnN0YW50BAc6Y3JhZnQyA3MyaRFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLPHNpemU9MD5mYSMIY29uc3RhbnQCAAAAAAhjb25zdGFudAIAAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBHRpZXILdGVybmFyeS5pbnQPc3RyaW5nLmNvbnRhaW5zBmNvbmNhdA5zY3JpcHQuaW1wdWxzZQNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29yCGNvbnN0YW50BAc6Y3JhZnQyDWxvY2FsLmludC5nZXQIY29uc3RhbnQEDHZpc2libGVfdGllcgNzMmkJc3Vic3RyaW5nD3dvcmtlci5uYW1lLmdldA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAIQAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQLPHNpemU9MD5mYSMRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECzxzaXplPTA+ZmEjEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBVmYWN0b3J5X3RhcmdldF9hbW91bnQOdGVybmFyeS5kb3VibGUPc3RyaW5nLmNvbnRhaW5zBmNvbmNhdANpMnMOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmZhY3RvcnlfdGFyZ2V0DnNjcmlwdC5pbXB1bHNlCGNvbnN0YW50BAUwa2V5LhBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQVZmFjdG9yeV90YXJnZXRfYW1vdW50Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA5mYWN0b3J5X3RhcmdldAt0ZXJuYXJ5LmludA9zdHJpbmcuY29udGFpbnMGY29uY2F0A2kycw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBTBrZXkuDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBGl0ZW0IY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKghjb25zdGFudAIKAAAACGNvbnN0YW50BAErDWxvY2FsLmludC5nZXQIY29uc3RhbnQEDHZpc2libGVfdGllcg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOZmFjdG9yeV90YXJnZXQRZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEA2ZzIw50ZXJuYXJ5LnN0cmluZw5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQCPT0IY29uc3RhbnQCyAAAAAhjb25zdGFudAQ2PC9zaXplPmVycm9yPTxjb2xvcj0jZmIzPk5vIGF2YWlsYWJsZSB3b3JrZXJzITwvY29sb3I+DnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAx0dXJiby5jeWNsZXMIY29uc3RhbnQEAj09CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEOjwvc2l6ZT5lcnJvcj08Y29sb3I9I2ZiMz5UdXJibyBleGVjIGlzIG5vdCB3b3JraW5nPC9jb2xvcj4GY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAhjb25zdGFudAQYPC9zaXplPm1ha2U9PGNvbG9yPSNmZmY+CXN1YnN0cmluZwNkMnMRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAANASY0EIY29uc3RhbnQEASsQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQFY291bnQIY29uc3RhbnQCAQAAAA5hcml0aG1ldGljLmludAhjb25zdGFudAIJAAAACGNvbnN0YW50BAEtDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBmN1cnNvcghjb25zdGFudAQUPC9jb2xvcj48Y29sb3I9IzJmND4Jc3Vic3RyaW5nA2QycxFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQBKxBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudA5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BAEtDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBmN1cnNvcghjb25zdGFudAIBAAAACGNvbnN0YW50BBQ8L2NvbG9yPjxjb2xvcj0jZmZmPglzdWJzdHJpbmcDZDJzEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAADQEmNBCGNvbnN0YW50BAErEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEBWNvdW50DmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgsAAAAIY29uc3RhbnQEAS0NbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29yCGNvbnN0YW50AgoAAAAIY29uc3RhbnQEIDxzbWFsbGNhcHM+eDwvc21hbGxjYXBzPjxjb2xvcj0jDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBmN1cnNvcghjb25zdGFudAQCPT0IY29uc3RhbnQCAgAAAAhjb25zdGFudAQFMmY0PlQIY29uc3RhbnQEBWZmZj5UA2kycw5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAx2aXNpYmxlX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA50ZXJuYXJ5LnN0cmluZw5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZjdXJzb3IIY29uc3RhbnQEAj09CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEFTwvY29sb3I+IDxjb2xvcj0jMmY0Pghjb25zdGFudAQVPC9jb2xvcj4gPGNvbG9yPSNmZmY+CXN1YnN0cmluZwhjb25zdGFudAQUcHJvZG1hY2hjcmZ0Z3J1cHBhcnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQIY2F0ZWdvcnkIY29uc3RhbnQEASoIY29uc3RhbnQCBAAAAAhjb25zdGFudAIEAAAADnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBmN1cnNvcghjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQcPC9jb2xvcj4gLi4uPGJyPjxjb2xvcj0jMmY0Pghjb25zdGFudAQcPC9jb2xvcj4gLi4uPGJyPjxjb2xvcj0jZmZmPglzdWJzdHJpbmcIY29uc3RhbnQEzwVhcmNhZGVfcHJvZHVjZXJjb25zdHJ1Y3Rpb25fZmlybV9wcm9kdWNlcmV4b3RpY19wcm9kdWNlcmZhY3RvcnlfcHJvZHVjZXJnZW1fcHJvZHVjZXJoZWFkcXVhcnRlcnNfcHJvZHVjZXJsYWJvcmF0b3J5X3Byb2R1Y2VybWluZV9wcm9kdWNlcm11c2V1bV9wcm9kdWNlcnBvd2VycGxhbnRfcHJvZHVjZXJwdW1wa2luX3Byb2R1Y2Vyc2hpcHlhcmRfcHJvZHVjZXJzdGF0dWVfb2ZfY3Vib3NfcHJvZHVjZXJ0b3duX3Byb2R1Y2VydHJhZGluZ3Bvc3RfcHJvZHVjZXJ3b3Jrc2hvcF9wcm9kdWNlcmFjY2VsZXJhdGlvbl9ib29zdGVycHJvZHVjdGlvbl9ib29zdGVycmVzb3VyY2VfYm9vc3RlcmFzc2VtYmx5YmVsdGJvaWxlcmNydXNoZXJjdXR0ZXJtaXhlcm92ZW5wcmVzc2VycmVmaW5lcnNoYXBlcmJsb2NrY2hpcGhhbW1lcmluc3VsX2NhYmxlbW90b3JwdW1wcmFpbmJvd19kdXN0cnViYmVyX3NhcGxpbmdzdGFja2VkX3BsYXRlc3RhY2tlZF9wdW1wa2ludm9pZF9zYXBsaW5nb3JlYWxsY2hpcHNjaGlwX2FuZF9wcm9kc21hY2hpbmVzcGFydHNwcm9kdWNlcnNhbnRpX3B1bXBraW5ib2FyZGNhYmxlY2FydmVkX3B1bXBraW5jaXJjdWl0ZGVuc2VfYmxvY2tkZW5zZV9wbGF0ZWluZ290cGlwZXBsYXRlcHVtcGtpbl9wbGF0ZXJhaW5ib3dfaW5nb3RyYWluYm93X3BsYXRlcmluZ3JvZHJ1YmJlcl9wbGF0ZXNjcmV3d2lyZWR1c3RsdW1wdm9pZF9lc3NlbmNlcHVtcGtpbnJ1YmJlcgNzMmkJc3Vic3RyaW5nCGNvbnN0YW50BNIBMDAwMDE1MDQxMDU2MDcyMDg0MTA1MTI0MTM3MTUyMTcxMTg3MjA0MjI4MjQxMjYxMjc4Mjk4MzE2MzMyMzQwMzQ0MzUwMzU3MzYzMzY4MzcyMzc5Mzg2MzkyMzk3NDAxNDA3NDE4NDIzNDI3NDM5NDUzNDY2NDgxNDkzNDk2NDk5NTA0NTE4NTI2NTMxNTQwNTUyNTU3NTYyNTc2NTgzNTk0NjA1NjEwNjE0NjE5NjMyNjQ1NjU4NjYyNjY1Njc3NjgyNjg2NjkwNjk0NzA2NzEzDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBGl0ZW0IY29uc3RhbnQEASoIY29uc3RhbnQCAwAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50AgAAAAADczJpCXN1YnN0cmluZwhjb25zdGFudASMATE1MjYxNTE2MTIyMTE5MTMxNTE5MTYxNzI0MTMyMDE3MjAxODE2MDgwNDA2MDcwNjA1MDQwNzA3MDYwNTA0MDYxMTA1MDQxMjE0MTMxNTEyMDMwMzA1MTQwODA1MDkxMjA1MDUxNDA3MTExMTA1MDQwNTEzMTMxMzA0MDMxMjA1MDQwNDA0MTIwNzA2DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBGl0ZW0IY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAICAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQEFDxicj48L2NvbG9yPjwvY29sb3I+DnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucwZjb25jYXQOc2NyaXB0LmltcHVsc2URZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECzxzaXplPTA+ZmEjCGNvbnN0YW50BAY6aW5pdDwRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQECzxzaXplPTA+ZmEjDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA5mYWN0b3J5X3RhcmdldAhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQpPGNvbG9yPSMwZGY+d2FzZCBtb3ZlcywgZiBjcmFmdHM8L2NvbG9yPiAIY29uc3RhbnQEHzxjb2xvcj0jZmYwPkNyYWZ0aW5nLi4uPC9jb2xvcj4Sd29ya2Vycy5wYXVzZS5uYW1lDnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucwt3b3JrZXIudGFzaw93b3JrZXIubmFtZS5nZXQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQEGmZhY3RvcnkuZGlzc29sdmVNYW5hZ2VtZW50D3dvcmtlci5uYW1lLmdldA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQSIVtAI25vc3VjaHRhc2sjQF0hD3N0cmluZy5jb250YWlucxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQDZnMjCGNvbnN0YW50BAhDcmFmdGluZw5nbG9iYWwuaW50LnNldAhjb25zdGFudAQOdHVyYm8ucmVnaXN0ZXIOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDnR1cmJvLnJlZ2lzdGVyCGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAPd29ya2VyLm5hbWUuc2V0C3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAE8CGNvbnN0YW50AmQAAAANbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQEAS0IY29uc3RhbnQCZAAAAAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0CGNvbnN0YW50BAlbZmFjdG9yeV0Jc3Vic3RyaW5nA2QycxFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQBKxBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAIBAAAACGNvbnN0YW50AgcAAAADaTJzDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIDaTJzDWxvY2FsLmludC5nZXQIY29uc3RhbnQECGNhdGVnb3J5CXN1YnN0cmluZwNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BARpdGVtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAgAAAANpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQGY3Vyc29y

This requires turbo exec v2.2 to function, found here: https://github.com/d0sboots/TPT2_scripts/blob/main/common/turbo_exec/README.md

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ The list of all valid items can be found in the source code of factory_constants. โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Details

To use this, import and enable all the scripts in both this package and turbo exec. (You can right-click a package to quick-toggle-enable the whole package.) Then go to the factory and use WASD to select a quantity, tier, category, and item.

The available categories are Producers (PROD), Machines (MACH), Misc Crafted (CRFT), Produced Parts (PART), and Item Groups (GRUP).

Press "F" to craft when you're ready.

Basic Features

The package will prioritize using items already present in your inventory instead of crafting new ones, and it will always leave at least one dust of each tier.

It can manage ore processing, dust tiering, and everything related. If more dust of a certain tier is needed then there is in the inventory, the package will first use all ores of that tier, then use dust of the previous tier. (This package assumes you have the chemical lumps exotic skill; if you don't have it, it will likely get "stuck.")

You can upgrade machines with it, but the process is slightly involved: First, take the machine out of its slot. Then, start the upgrade with 'F'. If the machine is needed to do the work, you will then need to put it back into its slot, and take it out again at the very end, to finish the upgrade.

It uses a different up-tiering mechanism than the uptierer below, and the two aren't aware of each other, but despite that they usually work fine together. If you completely run out of dust you may need to temporarily disable the uptierer in order to finish crafting, though.

If there isn't enough ore or rubber, the package will give an error message at startup. (New feature in v2.2.0!)

You can safely leave the factory and come back while the scripts are running, the craft will just continue where it left off.

Improved Features

"Item groups" are added to allow quickly crafting large batches of items, for scanning in the Crafter. Some of them take a lot of space and/or time, especially the "all" group, so use with caution. (Maybe try out the narrower groups first.)

This uses the names of workers to store state about what item/tier is selected, so that it survives across restarts. By default, it will overwrite the first worker name, replacing it with "[factory]" followed by some numbers. If you want it to be in a different slot, put the "[factory]" tag there and get rid of it in the old location. It also won't ever overwrite a location that starts with a "[" (open-bracket).

If you assign "Adding items to the dissolve queue" to the worker that the factory uses, then it will auto-pause that worker when crafting, to avoid losing items. Otherwise, it's just a regular worker with a funny name.

Auto mining script V2

This script mines across all tabs, at 16x speed (i.e. all squares simultaneously). It takes 181 frames, or ~1.5 seconds to mine 10 layers * 12 tabs at the default 120 FPS (with vsync disabled). However, the amount of floating text often drops the framerate lower, such that it takes longer. The max actions required is 9, which should be accessible to everyone. Using this with turbo exec will take the roughly the same amount of real time, but cause the game to lag until the mining is finished.

D0S.Autominer 2 1 9

DUQwUy5BdXRvbWluZXICAAAABndha2V1cAlvcGVuLm1pbmUBAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQEbWluZQkAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQECWRpZ2dlcnBvcw5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQJZGlnZ2VycG9zCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAPZ2VuZXJpYy5leGVjdXRlDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAlkaWdnZXJwb3MIY29uc3RhbnQEATwIY29uc3RhbnQCIwAAAAhjb25zdGFudAQNRDBTLkF1dG9taW5lcghjb25zdGFudAQADWxvY2FsLmludC5zZXQIY29uc3RhbnQEA3Bvcwt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEAT4IY29uc3RhbnQCAAAAAA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQJZGlnZ2VycG9zCGNvbnN0YW50BAI9PQhjb25zdGFudAIiAAAACGNvbnN0YW50AiEAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQCPT0IY29uc3RhbnQCIwAAAAhjb25zdGFudAIgAAAADmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAlkaWdnZXJwb3MIY29uc3RhbnQEAS0IY29uc3RhbnQCAgAAAAhtaW5lLnRhYg5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEAS0IY29uc3RhbnQCIAAAAAhtaW5lLmRpZw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEA21vZAhjb25zdGFudAIIAAAACGNvbnN0YW50BAEvCGNvbnN0YW50AgIAAAAOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAEvCGNvbnN0YW50AggAAAAMZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50D2NvbXBhcmlzb24uYm9vbBJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBG1pbmUIY29uc3RhbnQEASYOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQBPghjb25zdGFudAIAAAAAC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Bvcwhjb25zdGFudAQBPAhjb25zdGFudAIgAAAACGNvbnN0YW50AgUAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAI9PQhjb25zdGFudAIgAAAACGNvbnN0YW50AgcAAAALdGVybmFyeS5pbnQObWluZS5oYXNMYXllcnMIY29uc3RhbnQCBgAAAAt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEAT4IY29uc3RhbnQCKwAAAAhjb25zdGFudAIJAAAACGNvbnN0YW50AgMAAAAIY29uc3RhbnQCCQAAAA1taW5lLm5ld2xheWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgcAAAAPY29tcGFyaXNvbi5ib29sEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQEbWluZQhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQJZGlnZ2VycG9zCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAMZ2xvYmFsLnVuc2V0CGNvbnN0YW50BAlkaWdnZXJwb3M=

There's also a tweaked version that runs infinitely, instead of stopping when all tabs are mined. This version gets pretty choppy under turbo exec.

D0S.InfiniMiner 2 1 9

D0QwUy5JbmZpbmlNaW5lcgIAAAAGd2FrZXVwCW9wZW4ubWluZQEAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BARtaW5lCQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQJZGlnZ2VycG9zDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAlkaWdnZXJwb3MIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA9nZW5lcmljLmV4ZWN1dGUOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQBPAhjb25zdGFudAIjAAAACGNvbnN0YW50BA9EMFMuSW5maW5pTWluZXIIY29uc3RhbnQEAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BANwb3MLdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAE+CGNvbnN0YW50AisAAAAIY29uc3RhbnQCIQAAAA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQJZGlnZ2VycG9zCGNvbnN0YW50BAI9PQhjb25zdGFudAIiAAAACGNvbnN0YW50AiEAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQCPT0IY29uc3RhbnQCIwAAAAhjb25zdGFudAIgAAAADmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAlkaWdnZXJwb3MIY29uc3RhbnQEAS0IY29uc3RhbnQCAgAAAAhtaW5lLnRhYg5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEAS0IY29uc3RhbnQCIAAAAAhtaW5lLmRpZw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQEA21vZAhjb25zdGFudAIIAAAACGNvbnN0YW50BAEvCGNvbnN0YW50AgIAAAAOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAEvCGNvbnN0YW50AggAAAAMZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50D2NvbXBhcmlzb24uYm9vbBJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBG1pbmUIY29uc3RhbnQEASYOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQBPghjb25zdGFudAIAAAAAC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Bvcwhjb25zdGFudAQBPAhjb25zdGFudAIgAAAACGNvbnN0YW50AgUAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcG9zCGNvbnN0YW50BAI9PQhjb25zdGFudAIgAAAACGNvbnN0YW50AgcAAAALdGVybmFyeS5pbnQObWluZS5oYXNMYXllcnMIY29uc3RhbnQCBgAAAAhjb25zdGFudAIDAAAACGNvbnN0YW50AgkAAAANbWluZS5uZXdsYXllcg5nZW5lcmljLmdvdG9pZghjb25zdGFudAIHAAAAD2NvbXBhcmlzb24uYm9vbBJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBG1pbmUIY29uc3RhbnQEASYOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWRpZ2dlcnBvcwhjb25zdGFudAQBPghjb25zdGFudAIAAAAADGdsb2JhbC51bnNldAhjb25zdGFudAQJZGlnZ2VycG9z

Turbo Miner

This script is very similar to my other autominer: It mines all layers across all tabs. Unlike the other script, it does this in a single frame, by requiring turbo exec v2.2 (https://github.com/d0sboots/TPT2_scripts/blob/main/common/turbo_exec/README.md) Although it has more actions required at 15, this should still be accessible to everyone. For best results, go to floor 2 of the mine: this will greatly reduce the lag you experience on entering, as it mines everything.

D0S.TurboMiner 2 1 15

DkQwUy5UdXJib01pbmVyAgAAAAZ3YWtldXAJb3Blbi5taW5lAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBG1pbmUPAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC1RFMi4yOnN0YXJ0Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0dXJiby5jeWNsZXMubWF4B2ludC5tYXgOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHR1cmJvLmN5Y2xlcy5tYXgOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDHR1cmJvLmN5Y2xlcwhjb25zdGFudAQBKwhjb25zdGFudAKsDQAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEC3Nob3VsZF9sb29wCGNvbnN0YW50AgAAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQDdGFiDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3RhYghjb25zdGFudAQDbW9kCGNvbnN0YW50AgwAAAAIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAhtaW5lLnRhYg1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAN0YWIMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AggAAAANbWluZS5uZXdsYXllcghtaW5lLmRpZwhjb25zdGFudAIAAAAADWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3JvdwhtaW5lLmRpZwhjb25zdGFudAIBAAAADWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3JvdwhtaW5lLmRpZwhjb25zdGFudAICAAAADWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3JvdwhtaW5lLmRpZwhjb25zdGFudAIDAAAADWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Jvdw1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BANyb3cOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDcm93CGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIEAAAADmdlbmVyaWMuZ290b2lmC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Jvdwhjb25zdGFudAQCIT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAIIAAAAC3Rlcm5hcnkuaW50Dm1pbmUuaGFzTGF5ZXJzCGNvbnN0YW50AgcAAAALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQDdGFiCGNvbnN0YW50BAE8CGNvbnN0YW50AgwAAAAIY29uc3RhbnQCBAAAAAhjb25zdGFudAIOAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQEbWluZRNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BApURTIuMjpzdG9wDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgEAAAAPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3Nob3VsZF9sb29wCGNvbnN0YW50BAIhPQhjb25zdGFudAIAAAAACGNvbnN0YW50BAImJhJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBG1pbmU=

Although this script is useful on its own, a large part of why I wrote it was to be an example for how to use turbo exec v2. It is relatively straightforward for a mining script, and all the speed comes from turbo. You can see the source, with liberal comments, at D0S.TurboMiner.

Museum combiner v4

v4.6

This package combines museum powerstones, really fast. It is very close to the theoretical maximum speed. On my machine, it can upgrade a stone 11 tiers in 13 seconds, and do the entire equipped grid in ~20 minutes.

This has been extensively changed for the museum update in 0.11.0. It is also slower than it used to be, because the new, larger inventory has made combining slower.

Import code:

E0QwUy5NdXNldW0gdjQuNjpCdXkCAAAABWtleS53BWtleS5zAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBm11c2V1bRAAAAAMZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50D3N0cmluZy5jb250YWlucwhjb25zdGFudAQXRDBTLk11c2V1bSB2NC42OkNvbWJpbmUOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQCDgAAAAt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BAtrZXkud3xrZXkucw5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAQCJiYPc3RyaW5nLmNvbnRhaW5zEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA1tdXNldW1fc3RhdHVzCGNvbnN0YW50BAlDb21iaW5pbmcIY29uc3RhbnQCYwAAAAhjb25zdGFudAICAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC1RFMi4yOnN0YXJ0DWxvY2FsLmludC5zZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAErC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nCXN1YnN0cmluZw93b3JrZXIubmFtZS5nZXQNbG9jYWwuaW50LmdldAhjb25zdGFudAQLd29ya2VyX3Nsb3QIY29uc3RhbnQCAAAAAAhjb25zdGFudAIIAAAACGNvbnN0YW50BAIhPQhjb25zdGFudAQIW211c2V1bV0IY29uc3RhbnQCAQAAAAhjb25zdGFudAIAAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgMAAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQBPAhjb25zdGFudAJkAAAACGNvbnN0YW50BAImJhFjb21wYXJpc29uLnN0cmluZwlzdWJzdHJpbmcPd29ya2VyLm5hbWUuZ2V0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50AgAAAAAIY29uc3RhbnQCCAAAAAhjb25zdGFudAQCIT0IY29uc3RhbnQECFttdXNldW1dCGNvbnN0YW50BAJ8fA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAI+PQhjb25zdGFudAJkAAAACGNvbnN0YW50BAImJg5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQBPAhjb25zdGFudALIAAAACGNvbnN0YW50BAImJg9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQQd29ya2VyLmdyb3VwLmdldA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQBLQhjb25zdGFudAJkAAAACGNvbnN0YW50BAI9PQhjb25zdGFudAL/////CGNvbnN0YW50BAJ8fA9zdHJpbmcuY29udGFpbnMJc3Vic3RyaW5nD3dvcmtlci5uYW1lLmdldA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQBLQhjb25zdGFudAJkAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBWxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAp3b3JrZXJfdmFsA3MyZAlzdWJzdHJpbmcPd29ya2VyLm5hbWUuZ2V0DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50AggAAAAIY29uc3RhbnQCYwAAAAhjb25zdGFudAMAAADodkg3Qg5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMdHVyYm8uY3ljbGVzDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAx0dXJiby5jeWNsZXMRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKg50ZXJuYXJ5LmRvdWJsZQ5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAt3b3JrZXJfc2xvdAhjb25zdGFudAQCPT0IY29uc3RhbnQCyAAAAAhjb25zdGFudAMAAAAAAADwvw50ZXJuYXJ5LmRvdWJsZQ9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBGtleS4RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDU1vaOlhMCUAIY29uc3RhbnQEA3Bvdwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAACRACmRvdWJsZS5taW4IY29uc3RhbnQDAAAAAACAgUARYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLnJvdW5kEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECndvcmtlcl92YWwIY29uc3RhbnQEA2xvZwhjb25zdGFudANTW9o6WEwJQAhjb25zdGFudAQBKw50ZXJuYXJ5LmRvdWJsZQ9zdHJpbmcuY29udGFpbnMOc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEBWtleS53CGNvbnN0YW50AwAAAAAAAPA/CGNvbnN0YW50AwAAAAAAAPC/EGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECndvcmtlcl92YWwPd29ya2VyLm5hbWUuc2V0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAEtC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEC3dvcmtlcl9zbG90CGNvbnN0YW50BAE8CGNvbnN0YW50AmQAAAAIY29uc3RhbnQCAAAAAAhjb25zdGFudAJkAAAABmNvbmNhdAhjb25zdGFudAQIW211c2V1bV0DZDJzEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPm1iKioOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEC211c2V1bV90aWVyC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAt0YXJnZXRfdGllcghjb25zdGFudAQCPT0IY29uc3RhbnQC/v///whjb25zdGFudAIAAAAADmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAttdXNldW1fdGllcg5nbG9iYWwuaW50LnNldAhjb25zdGFudAQKbXVzZXVtX3Bvcwhjb25zdGFudAL/////Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAt0YXJnZXRfdGllcgt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLdGFyZ2V0X3RpZXIIY29uc3RhbnQEAj09CGNvbnN0YW50AgAAAAAIY29uc3RhbnQC/f///w5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLdGFyZ2V0X3RpZXIfbXVzZXVtLm1hcmtldC5zZXQucHJlZmVycmVkVGllcgdpbnQubWF4CGNvbnN0YW50AgEAAAAHaW50Lm1pbghjb25zdGFudAIyAAAAA2QyaRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQMPHNpemU9MD5tYioqCGNvbnN0YW50BAEvCGNvbnN0YW50A1SYbneOBOdACGNvbnN0YW50BANsb2cIY29uc3RhbnQDAAAAAAAAMkAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDnR1cmJvLnJlZ2lzdGVyDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA50dXJiby5yZWdpc3Rlcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEEGxvY2FsX2J1eV9hbW91bnQHaW50Lm1heAhjb25zdGFudAIBAAAADmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAt0YXJnZXRfdGllcghjb25zdGFudAQBLQ5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLbXVzZXVtX3RpZXIIY29uc3RhbnQEAS0IY29uc3RhbnQCBQAAAAhjb25zdGFudAQBKghjb25zdGFudAIDAAAAEGxvY2FsLnN0cmluZy5zZXQIY29uc3RhbnQECmxvY2FsX2VsZW0OdGVybmFyeS5zdHJpbmcPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BBdEMFMuTXVzZXVtIHY0LjY6Q29tYmluZQ5zY3JpcHQuaW1wdWxzZRRtdXNldW0uc3RvbmUuZWxlbWVudAhjb25zdGFudAQJaW52ZW50b3J5CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEABBtdXNldW0uc3RvbmUuYnV5EGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQECmxvY2FsX2VsZW0OZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyDWxvY2FsLmludC5nZXQIY29uc3RhbnQEEGxvY2FsX2J1eV9hbW91bnQ=;F0QwUy5NdXNldW0gdjQuNjpDb21iaW5lAAAAAAAAAAAQAAAADGdlbmVyaWMuc3RvcAhjb25zdGFudAQZRDBTLk11c2V1bSB2NC42OkNhbGN1bGF0ZQxnZW5lcmljLmdvdG8LdGVybmFyeS5pbnQPc3RyaW5nLmNvbnRhaW5zDnNjcmlwdC5pbXB1bHNlCGNvbnN0YW50BBdEMFMuTXVzZXVtIHY0LjY6Q29tYmluZQhjb25zdGFudAIQAAAAC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50EW11c2V1bS5zdG9uZS50aWVyCGNvbnN0YW50BAlpbnZlbnRvcnkIY29uc3RhbnQCAAAAAAhjb25zdGFudAQCPj0OZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC3RhcmdldF90aWVyCGNvbnN0YW50Ag4AAAAIY29uc3RhbnQCAwAAAA9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEF0QwUy5NdXNldW0gdjQuNjpDb21iaW5lD2dlbmVyaWMuZXhlY3V0ZQhjb25zdGFudAQXRDBTLk11c2V1bSB2NC42OkNvbWJpbmUPZ2VuZXJpYy5leGVjdXRlCGNvbnN0YW50BBdEMFMuTXVzZXVtIHY0LjY6Q29tYmluZQ9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEE0QwUy5NdXNldW0gdjQuNjpCdXkOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEHR1cmJvLmN5Y2xlcy5tYXgHaW50Lm1heA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdHVyYm8uY3ljbGVzLm1heA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMdHVyYm8uY3ljbGVzCGNvbnN0YW50BAErCGNvbnN0YW50AgIIAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIZW5kX3RpbWURYXJpdGhtZXRpYy5kb3VibGUNdGltZXN0YW1wLm5vdwhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAgIQ+QRFnZW5lcmljLndhaXR1bnRpbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQRbXVzZXVtLnN0b25lLnRpZXIIY29uc3RhbnQECWludmVudG9yeQhjb25zdGFudAIAAAAACGNvbnN0YW50BAI+PQ5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLdGFyZ2V0X3RpZXIIY29uc3RhbnQEAnx8EWNvbXBhcmlzb24uZG91YmxlDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEAT4QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIZW5kX3RpbWUMZ2VuZXJpYy5zdG9wDnRlcm5hcnkuc3RyaW5nEWNvbXBhcmlzb24uZG91YmxlDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEAT4QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIZW5kX3RpbWUIY29uc3RhbnQEAAhjb25zdGFudAQTRDBTLk11c2V1bSB2NC42OkJ1eRNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BApURTIuMjpzdG9wDmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA50dXJiby5yZWdpc3Rlcg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOdHVyYm8ucmVnaXN0ZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAIDAAAAD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludBFtdXNldW0uc3RvbmUudGllcghjb25zdGFudAQJaW52ZW50b3J5CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEATwOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC3RhcmdldF90aWVyCGNvbnN0YW50BAImJg5jb21wYXJpc29uLmludBFtdXNldW0uc3RvbmUudGllcghjb25zdGFudAQJaW52ZW50b3J5CGNvbnN0YW50AhsAAAAIY29uc3RhbnQEAj09Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAttdXNldW1fdGllcg5nbG9iYWwuaW50LnNldAhjb25zdGFudAQLbXVzZXVtX3RpZXIIY29uc3RhbnQC/v///w9tdXNldW0ubW92ZVNsb3QIY29uc3RhbnQECWludmVudG9yeQhjb25zdGFudAIAAAAACGNvbnN0YW50BAdsb2Fkb3V0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAptdXNldW1fcG9zDm11c2V1bS5jb21iaW5lCGNvbnN0YW50AjIAAAA=;GUQwUy5NdXNldW0gdjQuNjpDYWxjdWxhdGUBAAAABWtleS5tAAAAAAwAAAAOZ2xvYmFsLmludC5zZXQOdGVybmFyeS5zdHJpbmcPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BAVrZXkubQ5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAQLdGFyZ2V0X3RpZXIIY29uc3RhbnQEC211c2V1bV90aWVyC3Rlcm5hcnkuaW50D3N0cmluZy5jb250YWlucwhjb25zdGFudAQFa2V5Lm0Oc2NyaXB0LmltcHVsc2ULdGVybmFyeS5pbnQSdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAZtdXNldW0IY29uc3RhbnQC/v///w5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLdGFyZ2V0X3RpZXIIY29uc3RhbnQCAAAAAAxnZW5lcmljLmdvdG8LdGVybmFyeS5pbnQPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BAVrZXkubQ5zY3JpcHQuaW1wdWxzZQhjb25zdGFudAJjAAAAC3Rlcm5hcnkuaW50D3N0cmluZy5jb250YWlucxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLb2ZmZXJfdGllcnMIY29uc3RhbnQEEjAxMDEwMTAxMDEwMTAxMDEtMQhjb25zdGFudAIDAAAACGNvbnN0YW50AgYAAAARZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEC29mZmVyX3RpZXJzDnRlcm5hcnkuc3RyaW5nD2NvbXBhcmlzb24uYm9vbBFjb21wYXJpc29uLnN0cmluZxltdXNldW0ubWFya2V0LnNsb3RFbGVtZW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQECW9mZmVyX2lkeAhjb25zdGFudAQCPT0IY29uc3RhbnQEAAhjb25zdGFudAQCfHwRY29tcGFyaXNvbi5kb3VibGUKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAADwvwpkb3VibGUubWluCGNvbnN0YW50AwAAAAAAAElAEWFyaXRobWV0aWMuZG91YmxlCmRvdWJsZS5taW4IY29uc3RhbnQDAAAAAAAAJkARYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPm1iKioIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAABq+EAIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAMkAIY29uc3RhbnQEA3BvdwNpMmQWbXVzZXVtLm1hcmtldC5zbG90VGllcg1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlvZmZlcl9pZHgIY29uc3RhbnQEA2xvZwhjb25zdGFudAMAAAAAAAAIQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBKwNpMmQWbXVzZXVtLm1hcmtldC5zbG90VGllcg1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlvZmZlcl9pZHgIY29uc3RhbnQEAjw9CmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAA8L8KZG91YmxlLm1pbghjb25zdGFudAMAAAAAAABJQBFhcml0aG1ldGljLmRvdWJsZQpkb3VibGUubWluCGNvbnN0YW50AwAAAAAAACZAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQMPHNpemU9MD5tYioqCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAavhACGNvbnN0YW50BAEvEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAADJACGNvbnN0YW50BANwb3cDczJkCXN1YnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQLb2ZmZXJfdGllcnMOc3RyaW5nLmluZGV4T2YIY29uc3RhbnQEEmxpZWxmaWRhbmFhaXdhZWF1bglzdWJzdHJpbmcZbXVzZXVtLm1hcmtldC5zbG90RWxlbWVudA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlvZmZlcl9pZHgIY29uc3RhbnQCAAAAAAhjb25zdGFudAICAAAACGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAgAAAAhjb25zdGFudAMAAAAAAADwvwhjb25zdGFudAQDbG9nCGNvbnN0YW50AwAAAAAAAAhACGNvbnN0YW50BAErCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAErA3MyZAlzdWJzdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEC29mZmVyX3RpZXJzDnN0cmluZy5pbmRleE9mCGNvbnN0YW50BBJsaWVsZmlkYW5hYWl3YWVhdW4Jc3Vic3RyaW5nGW11c2V1bS5tYXJrZXQuc2xvdEVsZW1lbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJb2ZmZXJfaWR4CGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAgAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQDAAAAAAAA8L8RZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEC29mZmVyX3RpZXJzBmNvbmNhdAZjb25jYXQJc3Vic3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAtvZmZlcl90aWVycwhjb25zdGFudAIAAAAADnN0cmluZy5pbmRleE9mCGNvbnN0YW50BBJsaWVsZmlkYW5hYWl3YWVhdW4Jc3Vic3RyaW5nGW11c2V1bS5tYXJrZXQuc2xvdEVsZW1lbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJb2ZmZXJfaWR4CGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAgAAAAhjb25zdGFudAIAAAAACXN1YnN0cmluZwNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCZAAAAAhjb25zdGFudAQBKxZtdXNldW0ubWFya2V0LnNsb3RUaWVyDWxvY2FsLmludC5nZXQIY29uc3RhbnQECW9mZmVyX2lkeAhjb25zdGFudAIBAAAACGNvbnN0YW50AgIAAAAJc3Vic3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAtvZmZlcl90aWVycw5zdHJpbmcuaW5kZXhPZghjb25zdGFudAQUICBsaWVsZmlkYW5hYWl3YWVhdW4Jc3Vic3RyaW5nGW11c2V1bS5tYXJrZXQuc2xvdEVsZW1lbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJb2ZmZXJfaWR4CGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAgAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50AmMAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJb2ZmZXJfaWR4DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQECW9mZmVyX2lkeAhjb25zdGFudAQBKwhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgMAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJb2ZmZXJfaWR4CGNvbnN0YW50BAE8CGNvbnN0YW50AgoAAAAMbXVzZXVtLmNsZWFyCGNvbnN0YW50BAlpbnZlbnRvcnkOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEC211c2V1bV90aWVyA3MyaQlzdWJzdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEC29mZmVyX3RpZXJzDnN0cmluZy5pbmRleE9mCGNvbnN0YW50BBJsaWVsZmlkYW5hYWl3YWVhdW4Jc3Vic3RyaW5nFG11c2V1bS5zdG9uZS5lbGVtZW50CGNvbnN0YW50BAdsb2Fkb3V0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAptdXNldW1fcG9zCGNvbnN0YW50AgAAAAAIY29uc3RhbnQCAgAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQC/////w5nbG9iYWwuaW50LnNldAhjb25zdGFudAQLdGFyZ2V0X3RpZXILdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQHaW50Lm1pbhFtdXNldW0uc3RvbmUudGllcghjb25zdGFudAQHbG9hZG91dA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKbXVzZXVtX3Bvcw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLbXVzZXVtX3RpZXIIY29uc3RhbnQEATwIY29uc3RhbnQCAAAAAAhjb25zdGFudAL/////A2QyaQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAPC/CmRvdWJsZS5taW4IY29uc3RhbnQDAAAAAAAASUARYXJpdGhtZXRpYy5kb3VibGUKZG91YmxlLm1pbghjb25zdGFudAMAAAAAAAAmQBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKghjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAGr4QAhjb25zdGFudAQBLxFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAAAyQAhjb25zdGFudAQDcG93A2kyZA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQLbXVzZXVtX3RpZXIIY29uc3RhbnQEA2xvZwhjb25zdGFudAMAAAAAAAAIQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBKwNpMmQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyEG11c2V1bS5zdG9uZS5idXkUbXVzZXVtLnN0b25lLmVsZW1lbnQIY29uc3RhbnQEB2xvYWRvdXQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECm11c2V1bV9wb3MOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50EW11c2V1bS5zdG9uZS50aWVyCGNvbnN0YW50BAdsb2Fkb3V0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAptdXNldW1fcG9zCGNvbnN0YW50BAE8Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAttdXNldW1fdGllcghjb25zdGFudAIBAAAACGNvbnN0YW50AgAAAAALbXVzZXVtLm1vdmUIY29uc3RhbnQEB2xvYWRvdXQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECm11c2V1bV9wb3MIY29uc3RhbnQECWludmVudG9yeQ5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdHVyYm8uY3ljbGVzLm1heAdpbnQubWF4Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0dXJiby5jeWNsZXMubWF4DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAx0dXJiby5jeWNsZXMIY29uc3RhbnQEASsIY29uc3RhbnQCDwAAABNnZW5lcmljLmV4ZWN1dGVzeW5jDnRlcm5hcnkuc3RyaW5nD3N0cmluZy5jb250YWlucwhjb25zdGFudAQFa2V5Lm0Oc2NyaXB0LmltcHVsc2UIY29uc3RhbnQEDiUlbXVzZXVtLW5vcCUlCGNvbnN0YW50BBdEMFMuTXVzZXVtIHY0LjY6Q29tYmluZQ==;FEQwUy5NdXNldW0gdjQuNjpNYWluAgAAAAZ3YWtldXALb3Blbi5tdXNldW0BAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQGbXVzZXVtDwAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNEMFMuTXVzZXVtIHY0LjY6QnV5EWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BAtvZmZlcl90aWVycwhjb25zdGFudAQSMDEwMTAxMDEwMTAxMDEwMS0xDmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAttdXNldW1fdGllcgt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAL+////CGNvbnN0YW50BAImJhFjb21wYXJpc29uLmRvdWJsZRNtdXNldW0ubWFya2V0LnRpbWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAMAAAAAACCsQAhjb25zdGFudAIAAAAADmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAttdXNldW1fdGllcg5nbG9iYWwuaW50LnNldAhjb25zdGFudAQLdGFyZ2V0X3RpZXIIY29uc3RhbnQCAAAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQNbXVzZXVtX3N0YXR1cw50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQMPHNpemU9MD5tYioqCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50BDY8L3NpemU+ZXJyb3I9PGNvbG9yPSNmYjM+Tm8gYXZhaWxhYmxlIHdvcmtlcnMhPC9jb2xvcj4OdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDHR1cmJvLmN5Y2xlcwhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQ6PC9zaXplPmVycm9yPTxjb2xvcj0jZmIzPlR1cmJvIGV4ZWMgaXMgbm90IHdvcmtpbmc8L2NvbG9yPgZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0CGNvbnN0YW50BBo8L3NpemU+bXVzZXVtPTxjb2xvcj0jMmY0PgNkMnMRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLnJvdW5kEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPm1iKioIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAIY29uc3RhbnQEA3Bvdwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKghjb25zdGFudAQDbG9nCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtCGNvbnN0YW50AwZsZz8c//8/CGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAFlACGNvbnN0YW50BAFlA2Qycwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKghjb25zdGFudAQDbG9nCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtCGNvbnN0YW50AyROfxITeCy/CGNvbnN0YW50BH48L2NvbG9yPiA8Y29sb3I9I2ZmZj5idWRnZXQ8L2NvbG9yPjxicj48Y29sb3I9IzBkZj48Y29sb3I9IzJmND53PC9jb2xvcj4vPGNvbG9yPSMyZjQ+czwvY29sb3I+IGNoYW5nZXMsIDxjb2xvcj0jMmY0Pm08L2NvbG9yPiAOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyCGNvbnN0YW50BAIhPQhjb25zdGFudAL+////CGNvbnN0YW50BA5iZWdpbnM8L2NvbG9yPgZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQIY29uc3RhbnQEJXN0b3BzPC9jb2xvcj48YnI+PGNvbG9yPSNmZmY+V2FpdGluZyADZDJzDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRNtdXNldW0ubWFya2V0LnRpbWVyCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAE5ACGNvbnN0YW50BAE6CXN1YnN0cmluZwNkMnMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlE211c2V1bS5tYXJrZXQudGltZXIIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEA21vZAhjb25zdGFudAMAAAAAAABOQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAABZQAhjb25zdGFudAIBAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQECDwvY29sb3I+DGdlbmVyaWMuZ290bwt0ZXJuYXJ5LmludBJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEBm11c2V1bQt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAL+////CGNvbnN0YW50BAImJhFjb21wYXJpc29uLmRvdWJsZRNtdXNldW0ubWFya2V0LnRpbWVyCGNvbnN0YW50BAI+PQhjb25zdGFudAMAAAAAAB6sQAhjb25zdGFudAIHAAAAA3MyaQlzdWJzdHJpbmcOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAL+////CGNvbnN0YW50BAQ0MSA1CGNvbnN0YW50BAQ0NyA1DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAt0YXJnZXRfdGllcghjb25zdGFudAQBKwhjb25zdGFudAIDAAAACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCYwAAAAhjb25zdGFudAIPAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA50dXJiby5yZWdpc3Rlcg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQOdHVyYm8ucmVnaXN0ZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEGUQwUy5NdXNldW0gdjQuNjpDYWxjdWxhdGURZ2VuZXJpYy53YWl0dW50aWwOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC211c2V1bV90aWVyCGNvbnN0YW50BAI9PQhjb25zdGFudAL+////DGdlbmVyaWMuc3RvcAhjb25zdGFudAQXRDBTLk11c2V1bSB2NC42OkNvbWJpbmUOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQECm11c2V1bV9wb3MOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECm11c2V1bV9wb3MIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQNbXVzZXVtX3N0YXR1cwZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0CGNvbnN0YW50BBo8L3NpemU+bXVzZXVtPTxjb2xvcj0jMmY0PgNkMnMRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLnJvdW5kEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPm1iKioIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAIY29uc3RhbnQEA3Bvdwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKghjb25zdGFudAQDbG9nCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtCGNvbnN0YW50AwZsZz8c//8/CGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAFlACGNvbnN0YW50BAFlA2Qycwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDDxzaXplPTA+bWIqKghjb25zdGFudAQDbG9nCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtCGNvbnN0YW50AyROfxITeCy/CGNvbnN0YW50BCc8L2NvbG9yPiA8Y29sb3I9I2ZmZj5idWRnZXQ8L2NvbG9yPjxicj4OdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEC3RhcmdldF90aWVyCGNvbnN0YW50BAIhPQhjb25zdGFudAL+////BmNvbmNhdAZjb25jYXQIY29uc3RhbnQEGjxjb2xvcj0jZmYwPkNvbWJpbmluZy4uLiBbA2kycw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKbXVzZXVtX3Bvcwhjb25zdGFudAQlXSA8Y29sb3I9IzJmND5tPC9jb2xvcj4gc3RvcHM8L2NvbG9yPghjb25zdGFudARlPGNvbG9yPSMwZGY+PGNvbG9yPSMyZjQ+dzwvY29sb3I+Lzxjb2xvcj0jMmY0PnM8L2NvbG9yPiBjaGFuZ2VzLCA8Y29sb3I9IzJmND5tPC9jb2xvcj4gYmVnaW5zPC9jb2xvcj4TZ2VuZXJpYy5leGVjdXRlc3luYw50ZXJuYXJ5LnN0cmluZw9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQGbXVzZXVtCGNvbnN0YW50BAImJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKbXVzZXVtX3Bvcwhjb25zdGFudAQBPAhjb25zdGFudAKCAAAACGNvbnN0YW50BAImJg9zdHJpbmcuY29udGFpbnMRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEDW11c2V1bV9zdGF0dXMIY29uc3RhbnQECUNvbWJpbmluZwhjb25zdGFudAQOJSVtdXNldW0tbm9wJSUIY29uc3RhbnQEClRFMi4yOnN0b3AOZ2VuZXJpYy5nb3RvaWYLdGVybmFyeS5pbnQPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAptdXNldW1fcG9zCGNvbnN0YW50BAE8CGNvbnN0YW50AoIAAAAIY29uc3RhbnQEAiYmD3N0cmluZy5jb250YWlucxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQNbXVzZXVtX3N0YXR1cwhjb25zdGFudAQJQ29tYmluaW5nC3Rlcm5hcnkuaW50DmNvbXBhcmlzb24uaW50EW11c2V1bS5zdG9uZS50aWVyCGNvbnN0YW50BAdsb2Fkb3V0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAptdXNldW1fcG9zCGNvbnN0YW50BAI9PQhjb25zdGFudAL/////CGNvbnN0YW50AgsAAAAIY29uc3RhbnQCCAAAAAhjb25zdGFudAIBAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQGbXVzZXVtEWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BA1tdXNldW1fc3RhdHVzCGNvbnN0YW50BAc8L3NpemU+

This requires turbo exec v2.2 to function, found here: https://github.com/d0sboots/TPT2_scripts/blob/main/common/turbo_exec/README.md

Details

To use this, import and enable all the scripts in both this package and turbo exec. (You can right-click a package to quick-toggle-enable the whole package.) Then go to the museum and use W/S to change your budget.

The budget is (roughly) how much will get spent to upgrade every stone in the grid; it's not what will get used every time. A good rule of thumb is to set this to the amount of Museum resources you have, or maybe a little less.

Press "M" to start the combiner. (If you don't like these keys, see the modification instructions for how you can change them.)

The combiner running

Features

The combiner tries to upgrade every stone you already have in your equipped grid, while respecting the budget. If you want more of a particular type of stone, buy it from the basic market, and it will then get upgraded.

Internally, it's allocating 1/100 of the budget for each stone. (So if you have very few stones, you can increase the budget a bit.)

The "preferred tier" of the offshore market will be automatically set to the best value for your current budget. You can manually change it, but it will get overwritten when you run the combiner again.

Once the combining is done, a countdown timer will show, synced to the offshore market's refresh. If you let the combiner sit like this, it will try to combine once every hour (or faster, if you are boosting the museum), to take advantage of new offers in the offshore market. If you don't want to do that, you can press "M" to cancel, or just leave the museum.

Pressing "M" will also cancel a running combine. You can also exit the museum or turn off AI, but pressing "M" cleans up the inventory so you don't lose stones.

The script gracefully handles running out of resources and offshore market rollovers. (In both cases, it continues on as best it can.) It also handles not having an offshore market at all (it will just use regular stones).

This script uses worker-name storage to hold the budget even when AI is turned off. This will overwrite one of your worker's names (generally, the first one). If you want to use a different worker, name one of them [museum] and delete/rename the old name. You can also manually change the budget by editing the value stored here, which can be faster than hitting "W" or "S" a lot of times.

Why are my gems stuck at T12?

The combiner can only increase tiers 11 levels. This is a time-based limitation: Every additional tier requires 3x as many gems, and thus takes 3x as long. Beyond 11, it starts taking too long to be practical.

Thus, without offshore market the maximum tier will be 12. With offshore market you can go higher, but only when useful gems appear in the market. It may take a few cycles for that to happen for all your gems. (You can influence the chances by enabling/disabling specific elements in "Preferences" in the Shop.)

Transmuting

The script won't transmute for you. With the new museum design, you only need to transmute once, to unlock universal stones in the market. Once they are unlocked, you can adjust preferences to get them to show up as often as needed.

Troubleshooting

The script will show some error messages for common conditions, like a bad/missing Turbo Exec installation. Other common issues:

If the script finishes instantly, without ever doing anything (even though you have budget set plenty high enough): Is your Museum fully upgraded in the HQ? The script requires all the inventory slots to be unlocked.

If the script hangs in the middle of combining: Have you bought the "Quick Combine" skill?

Timed Task Looping

Do you constantly find yourself forgetting to check the Trading Post, or the Museum? This is the script for you!

Press "t" and a customizable set of tasks will run. After that, a visible timer will count down (default 60 minutes, customizable by editing the first line) until the next run through of the tasks. The tasks are set in D0S.Timer_Actions and by default it farms the Asteroid Mine and upgrades Powerstones before returning to the Factory (assuming you have the relevant scripts installed), but you can customize that to be anything you like.

Pressing "t" again cancels the countdown, if you want to stop looping without shutting down the rest of the AI.

D0S.Timer 1 0 12 D0S.Timer_Actions 0 0 11

CUQwUy5UaW1lcgEAAAAFa2V5LnQAAAAADAAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAxsb29wX21pbnV0ZXMIY29uc3RhbnQDAAAAAAAATkAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCwAAABFjb21wYXJpc29uLnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQgPHNpemU9MjA+PGNvbG9yPXdoaXRlPmxvb3BfdGltZXIIY29uc3RhbnQEAiE9CGNvbnN0YW50BAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQHdGltZW91dA50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAd0aW1lb3V0CGNvbnN0YW50BAI9PQhjb25zdGFudAMAAAAAAAAAAA10aW1lc3RhbXAubm93EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEB3RpbWVvdXQIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbG9vcF9taW51dGVzCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAACj4cFBEWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BCA8c2l6ZT0yMD48Y29sb3I9d2hpdGU+bG9vcF90aW1lcgZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQDZDJzDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAd0aW1lb3V0CGNvbnN0YW50BAEtDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEASsIY29uc3RhbnQDAAAAANASY0EIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAKPhwUEIY29uc3RhbnQEAToDZDJzEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAd0aW1lb3V0CGNvbnN0YW50BAEtDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEASsIY29uc3RhbnQDAAAAANASY0EIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAITXl0EIY29uc3RhbnQEA21vZAhjb25zdGFudAMAAAAAAAAYQANkMnMRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEB3RpbWVvdXQIY29uc3RhbnQEAS0NdGltZXN0YW1wLm5vdwhjb25zdGFudAQBKwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQBLwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BA88L2NvbG9yPjwvc2l6ZT4MZ2VuZXJpYy5nb3RvC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BCA8c2l6ZT0yMD48Y29sb3I9d2hpdGU+bG9vcF90aW1lcghjb25zdGFudAQCPT0IY29uc3RhbnQEAAhjb25zdGFudAILAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEAT4QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHdGltZW91dAhjb25zdGFudAIGAAAACGNvbnN0YW50AgQAAAAQdG93bi53aW5kb3cuc2hvdwlzdWJzdHJpbmcIY29uc3RhbnQE3QF0b3dlcnRlc3RpbmcgICAgIHRyYWRpbmdwb3N0ICAgICAgcG93ZXJwbGFudCAgICAgICBmYWN0b3J5ICAgICAgICAgIGxhYm9yYXRvcnkgICAgICAgc2hpcHlhcmQgICAgICAgICB3b3Jrc2hvcCAgICAgICAgIGFyY2FkZSAgICAgICAgICAgbXVzZXVtICAgICAgICAgICBoZWFkcXVhcnRlcnMgICAgIGNvbnN0cnVjdGlvbmZpcm0gc3RhdHVlb2ZjdWJvcyAgICBtaW5lICAgICAgICAgICAgIA5hcml0aG1ldGljLmludAhjb25zdGFudAIRAAAACGNvbnN0YW50BAEqDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkOYXJpdGhtZXRpYy5pbnQOc3RyaW5nLmluZGV4T2YIY29uc3RhbnQE3QF0b3dlcnRlc3RpbmcgICAgIHRyYWRpbmdwb3N0ICAgICAgcG93ZXJwbGFudCAgICAgICBmYWN0b3J5ICAgICAgICAgIGxhYm9yYXRvcnkgICAgICAgc2hpcHlhcmQgICAgICAgICB3b3Jrc2hvcCAgICAgICAgIGFyY2FkZSAgICAgICAgICAgbXVzZXVtICAgICAgICAgICBoZWFkcXVhcnRlcnMgICAgIGNvbnN0cnVjdGlvbmZpcm0gc3RhdHVlb2ZjdWJvcyAgICBtaW5lICAgICAgICAgICAgIAhjb25zdGFudAQBIA5hcml0aG1ldGljLmludAhjb25zdGFudAIRAAAACGNvbnN0YW50BAEqDWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEAS0OYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCEQAAAAhjb25zdGFudAQBKg1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50AQANbG9jYWwuaW50LnNldAhjb25zdGFudAQBaQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIQAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgYAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQCIT0IY29uc3RhbnQCAAAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBFEMFMuVGltZXJfQWN0aW9ucw5nZW5lcmljLmdvdG9pZghjb25zdGFudAIDAAAAEWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BCA8c2l6ZT0yMD48Y29sb3I9d2hpdGU+bG9vcF90aW1lcghjb25zdGFudAQCIT0IY29uc3RhbnQEAAxnbG9iYWwudW5zZXQIY29uc3RhbnQEIDxzaXplPTIwPjxjb2xvcj13aGl0ZT5sb29wX3RpbWVyDGdsb2JhbC51bnNldAhjb25zdGFudAQgPHNpemU9MjA+PGNvbG9yPXdoaXRlPmxvb3BfdGltZXI=;EUQwUy5UaW1lcl9BY3Rpb25zAAAAAAAAAAALAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEKC4qLiouKi4qLiogQmVnaW4gYWN0aW9ucyBoZXJlICouKi4qLiouKi4TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQbQ2hhbmdlIGFueSBvZiB0aGVzZSB0byB3aGF0E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEHXlvdSB3YW50LCBldmVuIG90aGVyIGFjdGlvbnMuEHRvd24ud2luZG93LnNob3cIY29uc3RhbnQEBG1pbmUIY29uc3RhbnQBARNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBFEMFMuQXN0ZXJvaWRfRmFybRB0b3duLndpbmRvdy5zaG93CGNvbnN0YW50BARtaW5lCGNvbnN0YW50AQAQdG93bi53aW5kb3cuc2hvdwhjb25zdGFudAQGbXVzZXVtCGNvbnN0YW50AQETZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQUTXVzZXVtX0F1dG9fVXBncmFkZXIQdG93bi53aW5kb3cuc2hvdwhjb25zdGFudAQGbXVzZXVtCGNvbnN0YW50AQAQdG93bi53aW5kb3cuc2hvdwhjb25zdGFudAQHZmFjdG9yeQhjb25zdGFudAEBE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEKi4qLiouKi4qLiouKiBFbmQgYWN0aW9ucyBoZXJlICouKi4qLiouKi4qLg==

Autoclicker

A small, simple script that spam-clicks where the mouse is pointing. It spawns 54 copies to click really fast. Press "c" to enable, and "c" to toggle it off again.

Warning: This is not compatible with turbo-exec, if you try the sheer number of clicks will lag your game to heck and also the toggle won't work right.

D0S.SuperClick 1 0 7

DkQwUy5TdXBlckNsaWNrAQAAAAVrZXkuYwAAAAAHAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA9jbGlja19pbnN0YW5jZXMOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQED2NsaWNrX2luc3RhbmNlcwhjb25zdGFudAQBKwhjb25zdGFudAIBAAAAD2dlbmVyaWMuZXhlY3V0ZQ50ZXJuYXJ5LnN0cmluZw5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQPY2xpY2tfaW5zdGFuY2VzCGNvbnN0YW50BAE8CGNvbnN0YW50AjYAAAAIY29uc3RhbnQEDkQwUy5TdXBlckNsaWNrCGNvbnN0YW50BAAPZ2VuZXJpYy5leGVjdXRlDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA9jbGlja19pbnN0YW5jZXMIY29uc3RhbnQEATwIY29uc3RhbnQCNgAAAAhjb25zdGFudAQORDBTLlN1cGVyQ2xpY2sIY29uc3RhbnQEAA1nZW5lcmljLmNsaWNrDm1vdXNlLnBvc2l0aW9uDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgQAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQED2NsaWNrX2luc3RhbmNlcwhjb25zdGFudAQCPD0IY29uc3RhbnQCNgAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQPY2xpY2tfaW5zdGFuY2VzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA9jbGlja19pbnN0YW5jZXMIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAAxnbG9iYWwudW5zZXQOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQED2NsaWNrX2luc3RhbmNlcwhjb25zdGFudAQBPghjb25zdGFudAJtAAAACGNvbnN0YW50BA9jbGlja19pbnN0YW5jZXMIY29uc3RhbnQEAA==

Factory auto-trasher

This script trashes unwanted items that you pick up (from the mine floor 2). It runs automatically whenever you're in the Factory, and pauses itself when my factory automation is running so that it doesn't get screwed up.

Turbo exec v2 is not required, but it will speed up trashing greatly.

The download and instructions are on a separate page, because there are a couple of different options depending on if you want to customize it.

Dust Up-tierer

This is a simple ore crushing/dust up-tiering combo. It works stand-alone, but pairs nicely with other factory automation that expects dust to be available. At 9 actions, this should also work for everyone. It tries to crush any un-crushed ores, and up-tiers dust while trying to make the dust distribution match its built-in target ratios.

D0S.DustManager 2 1 9

D0QwUy5EdXN0TWFuYWdlcgIAAAAGd2FrZXVwDG9wZW4uZmFjdG9yeQEAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAdmYWN0b3J5CQAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BApvcmVfYnVmZmVyCGNvbnN0YW50AwAAAAAAQI9AEGxvY2FsLnN0cmluZy5zZXQIY29uc3RhbnQEEGR1c3RfbXVsdGlwbGllcnMIY29uc3RhbnQEJzEgMSAuNjI1IC41IC4wNzg3MiAuMDYzMTIgLjAxIC4wMSAuMDAyMRBsb2NhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQGYnVmZmVyA2kycw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAEvCGNvbnN0YW50AhAnAAAIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAANzMmQJc3Vic3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEEGR1c3RfbXVsdGlwbGllcnMOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQDbW9kCGNvbnN0YW50AhAnAAAOYXJpdGhtZXRpYy5pbnQOc3RyaW5nLmluZGV4T2YGY29uY2F0EGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEEGR1c3RfbXVsdGlwbGllcnMIY29uc3RhbnQEASAIY29uc3RhbnQEASAOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQDbW9kCGNvbnN0YW50AhAnAAAIY29uc3RhbnQEAS0OYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQDbW9kCGNvbnN0YW50AhAnAAAIY29uc3RhbnQDAAAAAAAA+P8NbG9jYWwuaW50LnNldAhjb25zdGFudAQBaQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAErCGNvbnN0YW50AhAnAAAIY29uc3RhbnQEASsLdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQOc3RyaW5nLmluZGV4T2YQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQQZHVzdF9tdWx0aXBsaWVycwhjb25zdGFudAQBIA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BANtb2QIY29uc3RhbnQCECcAAAhjb25zdGFudAQCPT0IY29uc3RhbnQC/////whjb25zdGFudAIAAAAADmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DnN0cmluZy5pbmRleE9mBmNvbmNhdBBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BBBkdXN0X211bHRpcGxpZXJzCGNvbnN0YW50BAEgCGNvbnN0YW50BAEgDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEA21vZAhjb25zdGFudAIQJwAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0OYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQBaQhjb25zdGFudAQDbW9kCGNvbnN0YW50AhAnAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCAwAAAA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAE8CGNvbnN0YW50AqCGAQANbG9jYWwuaW50LnNldAhjb25zdGFudAQFc3RhdGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKghjb25zdGFudAILAAAACGNvbnN0YW50BAErC3Rlcm5hcnkuaW50FmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXILdGVybmFyeS5pbnQWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQFbWl4ZXIIY29uc3RhbnQCAAAAAAhjb25zdGFudAILAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIKAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIKAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIJAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIJAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIIAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIIAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIHAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIHAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIGAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIGAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIEAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIEAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIDAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIDAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAICAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAICAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIBAAAACGNvbnN0YW50BAI8PQpkb3VibGUubWluEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXITZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIBAAAAC3Rlcm5hcnkuaW50FmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEBW1peGVyCGNvbnN0YW50AgAAAAAIY29uc3RhbnQCCwAAAAhjb25zdGFudAIBAAAACGNvbnN0YW50AgIAAAAIY29uc3RhbnQCAwAAAAhjb25zdGFudAIEAAAACGNvbnN0YW50AgUAAAAIY29uc3RhbnQCBgAAAAhjb25zdGFudAIHAAAACGNvbnN0YW50AggAAAAIY29uc3RhbnQCCQAAAAhjb25zdGFudAIKAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCYwAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAA50ZXJuYXJ5LmRvdWJsZQ9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEA21vZAhjb25zdGFudAILAAAACGNvbnN0YW50BAIhPQhjb25zdGFudAIAAAAACGNvbnN0YW50BAJ8fBZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAVtaXhlcghjb25zdGFudAMAAAAAAAAAAApkb3VibGUubWluEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AyuHFtnO9+8/CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAACGNvbnN0YW50BANwb3cIY29uc3RhbnQD4XoUrkfh6j8RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOdGVybmFyeS5kb3VibGUOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAACGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAACGNvbnN0YW50AwAAAAAAAAAAE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAHaW50Lm1heAhjb25zdGFudAIBAAAADmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0DmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKhBsb2NhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQGYnVmZmVyA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAICAAAACGNvbnN0YW50BAErDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YXRlCGNvbnN0YW50BAEvCGNvbnN0YW50AgsAAAAIY29uc3RhbnQEASsIY29uc3RhbnQCCAAAAAhjb25zdGFudAQDbW9kCGNvbnN0YW50AgkAAAAIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOdGVybmFyeS5kb3VibGUOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAACGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAACGNvbnN0YW50AwAAAAAAAAAAE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAHaW50Lm1heAhjb25zdGFudAIBAAAADmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0DmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKhBsb2NhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQGYnVmZmVyA2kycw5hcml0aG1ldGljLmludAhjb25zdGFudAIBAAAACGNvbnN0YW50BAErDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YXRlCGNvbnN0YW50BAEvCGNvbnN0YW50AgsAAAAIY29uc3RhbnQEASsIY29uc3RhbnQCCAAAAAhjb25zdGFudAQDbW9kCGNvbnN0YW50AgkAAAAIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEBmJ1ZmZlcgNpMnMOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAACBACGNvbnN0YW50BAEqEGxvY2FsLmRvdWJsZS5nZXQGY29uY2F0CGNvbnN0YW50BAZidWZmZXIDaTJzDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEAS8IY29uc3RhbnQCCwAAAAhjb25zdGFudAQBKwhjb25zdGFudAIIAAAACGNvbnN0YW50BANtb2QIY29uc3RhbnQCCQAAAAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAADgPw9mYWN0b3J5LnByb2R1Y2UOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEA21vZAhjb25zdGFudAILAAAACGNvbnN0YW50BAIhPQhjb25zdGFudAIAAAAACGNvbnN0YW50BANvcmUIY29uc3RhbnQEBGx1bXALdGVybmFyeS5pbnQOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEA21vZAhjb25zdGFudAILAAAACGNvbnN0YW50BAIhPQhjb25zdGFudAIAAAAAB2ludC5tYXgIY29uc3RhbnQCAQAAAA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQDbW9kCGNvbnN0YW50AgsAAAAOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAADnRlcm5hcnkuZG91YmxlDmNvbXBhcmlzb24uaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YXRlCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCwAAAAhjb25zdGFudAQCIT0IY29uc3RhbnQCAAAAAApkb3VibGUubWF4EWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQdpbnQubWF4CGNvbnN0YW50AgEAAAAOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEA21vZAhjb25zdGFudAILAAAACGNvbnN0YW50BAEtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm9yZV9idWZmZXIRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlB2ludC5tYXgIY29uc3RhbnQCAQAAAA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQDbW9kCGNvbnN0YW50AgsAAAAIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAdpbnQubWF4CGNvbnN0YW50AgEAAAAOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhdGUIY29uc3RhbnQEA21vZAhjb25zdGFudAILAAAACGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAAhAE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKw5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGF0ZQhjb25zdGFudAQBLwhjb25zdGFudAILAAAACGNvbnN0YW50BAErCGNvbnN0YW50AggAAAAIY29uc3RhbnQEA21vZAhjb25zdGFudAIJAAAADnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YXRlCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCwAAAAhjb25zdGFudAQCIT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQHY3J1c2hlcghjb25zdGFudAQFbWl4ZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCBgAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3Rvcnk=

Details

Edit the first line which sets the variable "ore_buffer". The default of 1000 means that 1000 of each ore tier will be kept, although initially it will be crushed so that you have dust to work with. This buffer amount is so that you can scan it with the Crafter. If you've already scanned all the ore, or don't have access to the Crafter, you can set ore_buffer to 0.

You can edit the second line which sets the variable "dust_multipliers" to customize the ratios; this sets the shape of the target distribution as a space-separated list. Each number is a multiple of the T1 dust amount, so the first entry should be 1. The default of "1 1 .625 .5 .07872 .06312 .01 .01 .0021 .0021" is based on making high-level producers and should reasonable for everyone.

The script in action This shows what you can expect after the script has run for a while. There's only 2.75K of the low-tier dusts, but 138 of the higest-tier dusts. This matches the ratios from a previous version (138 is 1/20th of 2750.) When you first start it, you might have millions of T1 dust - don't be alarmed if it drops this to just a few thousand.

You also might notice that when you first get a new tier (say, the first time you get T10 dust), your dust levels will drop suddenly. This is expected: the script cuts off the tiers you don't have (since you can't uptier to them yet), and once you gain access to a new tier the rebalancing will give you a bunch more dust of the new, higest tier, but ~1/4 as much dust in the other tiers.

This works equally well with or without Chemical Lumps, but if you don't have Lumps it will undershoot the buffer by 4 dust (but it will never consume the last dust, no matter what). It also may be good to delay wholesale up-tiering until you have Lumps, since you're operating at a significant loss until then.

If you want to manually change what the factory is working on, you can shift-right click to remove the current lump from the machine. Due to an intentional race condition, this will usually cause the script to advance to the next tier.

Button Coordinate Finder

AKA "Click Trainer", this script tells you the positions of buttons on the screen. It's better than the F2/F7 methods though, because it outputs code that is resolution-independant: It will work regardless of the user's screen size (with some caveats).

To use, move the mouse over part of a button you can find exactly, and press "p". Then resize the game window, move the mouse back to the same pixel of the button, and press "p" again. This will give an initial estimate. Do this a third time, and you'll get an error measurement, telling you how accurate you are (in pixels) in locating the same part of the button. If the error measurement is 2 or less, the numbers are likely accurate enough to work with.

You can press "r" as a quick shortcut to reset the measurements. Toggling F4 also works, of course.

Note: There is a more advanced version of this available at https://github.com/cl1694/My-TPT2-scripts/blob/main/Miscellaneous/ClickTrainer%20v2/README.md

D0S.ClickTrainer 1 0 13 D0S.ClickTrainer2 1 0 11

EEQwUy5DbGlja1RyYWluZXIBAAAABWtleS5wAAAAAA0AAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQJY2xpY2tfcG9zEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlBnZlYzIueA5tb3VzZS5wb3NpdGlvbghjb25zdGFudAQBKghjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKwZ2ZWMyLnkObW91c2UucG9zaXRpb24QbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQKc2NyZWVuX2RpbRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5zY3JlZW4ud2lkdGguZAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKw9zY3JlZW4uaGVpZ2h0LmQRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEDjxzaXplPTA+QV8xX3NxDnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAJuXwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQOPHNpemU9MD5BXzFfc3EIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECnNjcmVlbl9kaW0IY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAcEEIY29uc3RhbnQEASoMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECnNjcmVlbl9kaW0IY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAcEERZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQECUFfMV9kb3RfMg50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECUFfMV9kb3RfMghjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKc2NyZWVuX2RpbQhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApzY3JlZW5fZGltCGNvbnN0YW50BANtb2QIY29uc3RhbnQDAAAAAAAAcEERZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEC0FfMl9zcXVhcmVkDnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAJuXwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQLQV8yX3NxdWFyZWQIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKc2NyZWVuX2RpbQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAHBBCGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECnNjcmVlbl9kaW0IY29uc3RhbnQEA21vZAhjb25zdGFudAMAAAAAAABwQRFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQJQV8xX2RvdF94DnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAJuXwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJQV8xX2RvdF94CGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApzY3JlZW5fZGltCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAHBBCGNvbnN0YW50BAEqDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAljbGlja19wb3MIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAcEERZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQECUFfMV9kb3RfeQ50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECUFfMV9kb3RfeQhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKc2NyZWVuX2RpbQhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAljbGlja19wb3MIY29uc3RhbnQEA21vZAhjb25zdGFudAMAAAAAAABwQRFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQJQV8yX2RvdF94DnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAJuXwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJQV8yX2RvdF94CGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECnNjcmVlbl9kaW0IY29uc3RhbnQEA21vZAhjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKgxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJY2xpY2tfcG9zCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAHBBEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BAlBXzJfZG90X3kOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlBXzJfZG90X3kIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKc2NyZWVuX2RpbQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAHBBCGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECWNsaWNrX3Bvcwhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAHBBEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BAliX3hfZG90X3gOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAliX3hfZG90X3gIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECWNsaWNrX3Bvcwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAABwQQhjb25zdGFudAQBKgxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJY2xpY2tfcG9zCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAAHBBEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BAliX3lfZG90X3kOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAliX3lfZG90X3kIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJY2xpY2tfcG9zCGNvbnN0YW50BANtb2QIY29uc3RhbnQDAAAAAAAAcEEIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJY2xpY2tfcG9zCGNvbnN0YW50BANtb2QIY29uc3RhbnQDAAAAAAAAcEERZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEAm5fEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAJuXwhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAgIjDQA9nZW5lcmljLmV4ZWN1dGUOdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAI9PQhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQACGNvbnN0YW50BBFEMFMuQ2xpY2tUcmFpbmVyMg==;EUQwUy5DbGlja1RyYWluZXIyAQAAAAVrZXkucgAAAAALAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BAJuXw50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAACIw0ARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAiMNACGNvbnN0YW50AwAAAACAiMPAD2dlbmVyaWMuZXhlY3V0ZQ50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEAj09CGNvbnN0YW50AwAAAACAiMPACGNvbnN0YW50BBBEMFMuQ2xpY2tUcmFpbmVyCGNvbnN0YW50BAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEDjxzaXplPTA+QV8xX3NxCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAthXzJfc3F1YXJlZAhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8xX2RvdF8yCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzFfZG90XzIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQHc29sXzFfeBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQLYV8yX3NxdWFyZWQIY29uc3RhbnQEASoRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECWFfMV9kb3RfeAhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8xX2RvdF8yCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzJfZG90X3gIY29uc3RhbnQEAS8QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQHc29sXzFfeRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQLYV8yX3NxdWFyZWQIY29uc3RhbnQEASoRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECWFfMV9kb3RfeQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8xX2RvdF8yCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzJfZG90X3kIY29uc3RhbnQEAS8QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQHc29sXzJfeBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQOPHNpemU9MD5BXzFfc3EIY29uc3RhbnQEASoRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECWFfMl9kb3RfeAhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8xX2RvdF8yCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzFfZG90X3gIY29uc3RhbnQEAS8QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQHc29sXzJfeRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQOPHNpemU9MD5BXzFfc3EIY29uc3RhbnQEASoRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECWFfMl9kb3RfeQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8xX2RvdF8yCGNvbnN0YW50BAEqEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzFfZG90X3kIY29uc3RhbnQEAS8QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQRZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEHDwvc2l6ZT48Y29sb3I9I2ZmZmZmZj5yZXN1bHQOdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAI8PQhjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQIPC9jb2xvcj4OdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQLZGV0ZXJtaW5hbnQIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA4D8IY29uc3RhbnQENDwvY29sb3I+PGNvbG9yPSNlZTAwMDA+TmVlZCBtb3JlIGRhdGEgcG9pbnRzPC9jb2xvcj4GY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAhjb25zdGFudAQkdmVjKCAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgqA2QycxFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHc29sXzFfeAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQIK2hlaWdodCoDZDJzEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAdzb2xfMl94CGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAiMNACGNvbnN0YW50BAErCGNvbnN0YW50AwAAAAAAAOA/CGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAAAAiMNACGNvbnN0YW50BAgsIHdpZHRoKgNkMnMRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEB3NvbF8xX3kIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAACIw0AIY29uc3RhbnQEASsIY29uc3RhbnQDAAAAAAAA4D8IY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAACIw0AIY29uc3RhbnQECCtoZWlnaHQqA2QycxFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHc29sXzJfeQhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQJKTwvY29sb3I+EGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECHN0ZGVycl94EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAliX3hfZG90X3gIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQECWFfMV9kb3RfeAhjb25zdGFudAQBKhBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAdzb2xfMV94CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzJfZG90X3gIY29uc3RhbnQEASoQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHc29sXzJfeAhjb25zdGFudAQBLxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEA3Bvdwhjb25zdGFudAMAAAAAAADgPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAhzdGRlcnJfeRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYl95X2RvdF95CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAlhXzFfZG90X3kIY29uc3RhbnQEASoQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHc29sXzFfeQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQJYV8yX2RvdF95CGNvbnN0YW50BAEqEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEB3NvbF8yX3kIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BANwb3cIY29uc3RhbnQDAAAAAAAA4D8RZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEGDxjb2xvcj0jZmZmZjQ0PnJlZ19lcnJvcg50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQCbl8IY29uc3RhbnQEAjw9CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50BAg8L2NvbG9yPg50ZXJuYXJ5LnN0cmluZw9jb21wYXJpc29uLmJvb2wRY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEAm5fCGNvbnN0YW50BAI8PQhjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBfBFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAtkZXRlcm1pbmFudAhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQ2PC9jb2xvcj48Y29sb3I9I2VlMDAwMD5OZWVkIDMgcG9pbnRzIGZvciBlcnJvcjwvY29sb3I+BmNvbmNhdAZjb25jYXQGY29uY2F0BmNvbmNhdAZjb25jYXQGY29uY2F0CGNvbnN0YW50BAEoDnRlcm5hcnkuc3RyaW5nEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECHN0ZGVycl94CGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAAAAAAhACGNvbnN0YW50BA88Y29sb3I9I2VlMDAwMD4OdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIc3RkZXJyX3gIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEDzxjb2xvcj0jZmZmZjQ0Pghjb25zdGFudAQPPGNvbG9yPSM2NmZmNjY+A2QycxFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIc3RkZXJyX3gIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAACIw0AIY29uc3RhbnQEASsIY29uc3RhbnQDAAAAAAAA4D8IY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAACIw0AIY29uc3RhbnQECjwvY29sb3I+LCAOdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIc3RkZXJyX3kIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAACEAIY29uc3RhbnQEDzxjb2xvcj0jZWUwMDAwPg50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhzdGRlcnJfeQhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQPPGNvbG9yPSNmZmZmNDQ+CGNvbnN0YW50BA88Y29sb3I9IzY2ZmY2Nj4DZDJzEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhzdGRlcnJfeQhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQBKwhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAIjDQAhjb25zdGFudAQRPC9jb2xvcj4pPC9jb2xvcj4=

Example

Here's the result after pressing "p" four times in various resolutions, always pressing on the labeled corner of the workshop resource icon on the upgrade button. Using the script in the workshop

For the X component, the coefficients came out to 0.5 (exactly) and 0.0249. All numbers are rounded to 4 decimal places, but that's more accuracy than you typically need (or can achieve with the mouse). In this case, the offset of 0.0249 can be dropped; omitting it yields a spot slightly to the left on the button, which is fine.

For the Y component, the coefficients are -0.0008 and 0.6291. The first is actually 0, and the 2nd we'll round up to 0.63. This yields a final expression of vec(width.d()*0.5, height.d()*0.63).

Note that this is only half of the equation, specifically the widescreen half. Every screen scales differently depending on if the resoultion is wider or taller than 16:9. To be properly resoultion-independent, you must capture the coefficients for both the widescreen layout and tallscreen layout. Also, it is very important that you reset between the two types of measurements and do not cross between widescreen/tallscreen when doing consecutive measurements. The error will help tell you if you mess up by turning red.

The final equation for a button click should look like this:

click(if(height.d()/width.d() >= 0.5625, vec(_tallscreen_coords_), vec(_widescreen_coords_)))

AI Benchmarker

A script/execution suite for timing how long various things take to run. Using this is a bit more involved, so it's moved to its own subpage here: benchmarker.

Auto Era Disabler

SPOLERS BELOW FOR ERA PHASE! YOU HAVE BEEN WARNED!















This script automatically disables era powers and upgrades era divisors, as soon as XP is available to do so. It uses a configurable order of era disables, so it should work with any blueprint.

E0QwUy5FcmFEaXNhYmxlIHYxLjACAAAABndha2V1cA1nYW1lLm5ld3JvdW5kAQAAABNnYW1lLmlzVG93ZXJUZXN0aW5nDwAAABBsb2NhbC5zdHJpbmcuc2V0CGNvbnN0YW50BA5lbGVtZW50X2NvbmZpZwhjb25zdGFudAQ0bmF0dXJlPGVsZWM8ZGFyazx1bmk8ZmlyZTxsaWdodDxhaXI8d2F0ZXI8ZWFydGg8bmV1dBBsb2NhbC5zdHJpbmcuc2V0CGNvbnN0YW50BA5lbGVtZW50X2NvbmZpZwZjb25jYXQQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQOZWxlbWVudF9jb25maWcIY29uc3RhbnQEBzwvc2l6ZT4QbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQNbG9jYWxfY291bnRlcgZjb25jYXQDaTJzDmFyaXRobWV0aWMuaW50A3MyaQlzdWJzdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEDDxzaXplPTA+ZXIjYwhjb25zdGFudAIAAAAADnN0cmluZy5pbmRleE9mEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPmVyI2MIY29uc3RhbnQEBzwvc2l6ZT4IY29uc3RhbnQCAAAAAAhjb25zdGFudAIAAAAACGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEBzwvc2l6ZT4RZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEDDxzaXplPTA+ZXIjYxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA1sb2NhbF9jb3VudGVyEGdhbWUudXBncmFkZS5lcmEQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQHZWxlbWVudAhjb25zdGFudAJWAQAAEGdhbWUuZGlzYWJsZS5lcmEQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQHZWxlbWVudA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAVzdGFnZQdpbnQubWluDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YWdlCGNvbnN0YW50BAErC3Rlcm5hcnkuaW50D2NvbXBhcmlzb24uYm9vbBFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAl0aHJlc2hvbGQIY29uc3RhbnQEAj49CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50BAImJhFjb21wYXJpc29uLnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAdlbGVtZW50CGNvbnN0YW50BAIhPQhjb25zdGFudAQACGNvbnN0YW50AgEAAAAIY29uc3RhbnQCAAAAAAt0ZXJuYXJ5LmludA9zdHJpbmcuY29udGFpbnMJc3Vic3RyaW5nBmNvbmNhdBFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQWPHNpemU9MD5lbGVtZW50X2NvbmZpZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA5lbGVtZW50X2NvbmZpZw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBLwhjb25zdGFudAIGAAAACGNvbnN0YW50AgUAAAAQbG9jYWwuc3RyaW5nLnNldAhjb25zdGFudAQLZWxlbV9wcmVmaXgJc3Vic3RyaW5nBmNvbmNhdBFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQWPHNpemU9MD5lbGVtZW50X2NvbmZpZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA5lbGVtZW50X2NvbmZpZw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MOYXJpdGhtZXRpYy5pbnQOc3RyaW5nLmluZGV4T2YGY29uY2F0EWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BBY8c2l6ZT0wPmVsZW1lbnRfY29uZmlnEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDmVsZW1lbnRfY29uZmlnCGNvbnN0YW50BAE8DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Bvcwhjb25zdGFudAQBLQ1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MNbG9jYWwuaW50LnNldAhjb25zdGFudAQIZWxlbV9pZHgOc3RyaW5nLmluZGV4T2YIY29uc3RhbnQESV9uYXR1cmVfZWxlY3RyaWNpdHlfZGFya25lc3NfdW5pdmVyc2FsX2ZpcmVfbGlnaHRfYWlyX3dhdGVyX2VhcnRoX25ldXRyYWwQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQLZWxlbV9wcmVmaXgIY29uc3RhbnQCAAAAABBsb2NhbC5zdHJpbmcuc2V0CGNvbnN0YW50BAdlbGVtZW50DnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YWdlCGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAACGNvbnN0YW50BBNXYWl0aW5nIGZvciBzdGFydHVwDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YWdlCGNvbnN0YW50BAI9PQhjb25zdGFudAIDAAAACGNvbnN0YW50BAZkYW1hZ2UOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQFc3RhZ2UIY29uc3RhbnQEAj09CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEBmhlYWx0aAlzdWJzdHJpbmcIY29uc3RhbnQESV9uYXR1cmVfZWxlY3RyaWNpdHlfZGFya25lc3NfdW5pdmVyc2FsX2ZpcmVfbGlnaHRfYWlyX3dhdGVyX2VhcnRoX25ldXRyYWwNbG9jYWwuaW50LmdldAhjb25zdGFudAQIZWxlbV9pZHgDczJpCXN1YnN0cmluZwhjb25zdGFudARIXzA2X19fX18xMV9fX19fX19fX18wOF9fX19fX18wOV9fX19fX19fMDRfX18wNV9fX18wM19fMDVfX19fMDVfX19fMDdfX19fDWxvY2FsLmludC5nZXQIY29uc3RhbnQECGVsZW1faWR4CGNvbnN0YW50AgIAAAAIY29uc3RhbnQCAAAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQMPHNpemU9MD5lciNjBmNvbmNhdAlzdWJzdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEDDxzaXplPTA+ZXIjYwhjb25zdGFudAIAAAAADnN0cmluZy5pbmRleE9mEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPmVyI2MIY29uc3RhbnQEBzwvc2l6ZT4IY29uc3RhbnQCAAAAAA50ZXJuYXJ5LnN0cmluZxFjb21wYXJpc29uLnN0cmluZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAdlbGVtZW50CGNvbnN0YW50BAI9PQhjb25zdGFudAQABmNvbmNhdAZjb25jYXQIY29uc3RhbnQEJDA8L3NpemU+PHNpemU9MjA+PGNvbG9yPSNmMTI+RVJST1I9JxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAtlbGVtX3ByZWZpeAhjb25zdGFudAQ0JyBpcyBub3QgYSB2YWxpZCBwcmVmaXggb2YgYW4gZWxlbWVudDwvY29sb3I+PC9zaXplPgZjb25jYXQGY29uY2F0CGNvbnN0YW50BB08L3NpemU+PHNpemU9MjA+bmV4dF9kaXNhYmxlPRBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAdlbGVtZW50CGNvbnN0YW50BAc8L3NpemU+DWxvY2FsLmludC5zZXQIY29uc3RhbnQEA3Bvcwt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wPc3RyaW5nLmNvbnRhaW5zCGNvbnN0YW50BAM0MzADaTJzDWxvY2FsLmludC5nZXQIY29uc3RhbnQEBXN0YWdlCGNvbnN0YW50BAJ8fA9zdHJpbmcuY29udGFpbnMJc3Vic3RyaW5nBmNvbmNhdBFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQWPHNpemU9MD5lbGVtZW50X2NvbmZpZxBsb2NhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BA5lbGVtZW50X2NvbmZpZw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBLw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BANwb3MOYXJpdGhtZXRpYy5pbnQOc3RyaW5nLmluZGV4T2YGY29uY2F0EWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BBY8c2l6ZT0wPmVsZW1lbnRfY29uZmlnEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEDmVsZW1lbnRfY29uZmlnCGNvbnN0YW50BAE8DWxvY2FsLmludC5nZXQIY29uc3RhbnQEA3Bvcwhjb25zdGFudAQBKwhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECXRocmVzaG9sZA50ZXJuYXJ5LmRvdWJsZQ5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGFnZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAMAAAAAAECPQA50ZXJuYXJ5LmRvdWJsZQ9zdHJpbmcuY29udGFpbnMIY29uc3RhbnQEAjQzA2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGFnZQhjb25zdGFudAMAAAAAn7JAQRVnYW1lLmRpc2FibGUuZXJhLmNvc3QQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQHZWxlbWVudA5nZW5lcmljLmdvdG9pZgt0ZXJuYXJ5LmludBFjb21wYXJpc29uLmRvdWJsZQlwbGF5ZXIueHAIY29uc3RhbnQEAj49EGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECXRocmVzaG9sZAhjb25zdGFudAIFAAAACGNvbnN0YW50Ag4AAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVzdGFnZQhjb25zdGFudAQBPAhjb25zdGFudAIGAAAACGNvbnN0YW50BAImJhFjb21wYXJpc29uLmRvdWJsZQx0b3dlci5oZWFsdGgIY29uc3RhbnQBAQhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAAAAAAhjb25zdGFudAQCJiYPc3RyaW5nLmNvbnRhaW5zEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPmVyI2MQbG9jYWwuc3RyaW5nLmdldAhjb25zdGFudAQNbG9jYWxfY291bnRlchFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQMPHNpemU9MD5lciNjDnRlcm5hcnkuc3RyaW5nEWNvbXBhcmlzb24uc3RyaW5nEGxvY2FsLnN0cmluZy5nZXQIY29uc3RhbnQEB2VsZW1lbnQIY29uc3RhbnQEAj09CGNvbnN0YW50BAARZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEDDxzaXplPTA+ZXIjYwZjb25jYXQJc3Vic3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAw8c2l6ZT0wPmVyI2MIY29uc3RhbnQCAAAAAA5zdHJpbmcuaW5kZXhPZhFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQMPHNpemU9MD5lciNjCGNvbnN0YW50BAc8L3NpemU+CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEBzwvc2l6ZT4=

The order of disables is set in the local variable element_config on line 1. Each element is separated with <, and the default is: nature<elec<dark<uni<fire<light<air<water<earth<neut

You can use any unambiguous prefix of the full name to specify an element. So "electricity", "elec", and even "el" all work. Capital letters won't work.

The Era Shield will be disabled after the first two elements are disabled, since that is their natural position in the cost hierarchy almost always.

This script will function properly for 0 cost disables, all the way up to full 1000-cost disables. It does require the era divisors to be fully upgraded to 355 XP cost, though. It will exit once all the elements are disabled, although in many cases that will never occur.

An external blueprint script can also change the elements, in order to use the disabler as an (optional) part of its BP. To do this, set the global variable <size=0>element_config sometime early in your script. Also make sure to add </size> to the end of the value. (So instead of "nature<darkness", you would set it to "nature<darkness</size>".

Finite Infinities v2

This is a blueprint AI, it goes with the Finite Infinites BP by Xenos.

The blueprint is here, for your convenience:

RmluaXRlIEluZmluaXRpZXM7c3BlbGwucmFkYXI7YWlyLmh1cnJpY2FuZTt0b3dlci5zdXBlci4xO3Rvd2VyLnN1cGVyLjI7bXVsdGlzaG90LmZvY3VzZWQ7c2hpZWxkLnVuaXZlcnNhbDttaXNzaWxlLnNlcmlvdXM7aW5maW5pdHkucmFuZ2U7Y2F0LnBvd2VyO3NwZWxsLnZvaWQ7c3BlbGwuZGlzcGVsO2F1cmEuZnJvc3Q7c2hpZWxkLmZyb3N0O2F1cmEudW5ob2x5O2RlZmVuc2UuZGFpZ29wYXJyeTthdXJhLmhlYXJ0c3RvcHBlcjthdXJhLmRlYXRoO2F1cmEuZmllcnk7ZGVmZW5zZS5kZWZpYW5jZTtldmFzaW9uLmJhc2ljO2RlZmVuc2Uub3ZlcmNoYXJnZTtkZWZlbnNlLnNoZWx0ZXI7ZGVmZW5zZS5zdHJpa2ViYWNrO2JhcnJpZXIudGVtcG9yYWw7c2hpZWxkLmFkdmFuY2VkO3hwLmJvbnVzO2VuZXJneS5mbG93O2VuZXJneS5yZWN5Y2xpbmc7ZW5lcmd5LmJhc2ljO2VuZXJneS5yZWdlbmVyYXRpb247ZW5lcmd5Lm1vb247c3BlbGwucmVzcG9uc2UubmV1dHJhbDthdHRhY2suc3BlZWQ7YXR0YWNrLm11bHRpc2hvdDthdHRhY2suYm91bmNlO2F0dGFjay5jb21idXN0aW9uO3NvdWwuaGFydmVzdGluZzthdHRhY2sucmFwaWRmaXJlO2F0dGFjay5iYXNoO2F0dGFjay5zcGFyaztzaGFyZHMuaWNlO3NwbGFzaC5haXI7c2FjcmlmaWNlLmRhcms7c3BlbGwubXVsdGlzaG90O3NwbGFzaC5mcm9zdDtpbmZpbml0eS5hdHRhY2suc3BlZWQ=

The AI script that goes with it is here:

I2Zpbml0ZSBpbmZpbml0aWVzIHYyOnNwYW0gYWJpbGl0aWVzAgAAAA1nYW1lLm5ld3JvdW5kBndha2V1cAEAAAATZ2FtZS5pc1Rvd2VyVGVzdGluZxAAAAAMZ2VuZXJpYy5zdG9wCGNvbnN0YW50BBhmaW5pdGUgaW5maW5pdGllcyB2MjplcmEPZ2VuZXJpYy5leGVjdXRlCGNvbnN0YW50BBhmaW5pdGUgaW5maW5pdGllcyB2MjplcmERZ2VuZXJpYy53YWl0dW50aWwOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRlbXBvcmFsIGJhcnJpZXIIY29uc3RhbnQEAiE9CGNvbnN0YW50AgAAAAAXdG93ZXIubW9kdWxlLnVzZWluc3RhbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRlbXBvcmFsIGJhcnJpZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMPHNpemU9MD5maW5mCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDDxzaXplPTA+ZmluZg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMPHNpemU9MD5maW5mCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAXdG93ZXIubW9kdWxlLnVzZWluc3RhbnQLdGVybmFyeS5pbnQPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50FHRvd2VyLmJ1ZmZzLm5lZ2F0aXZlCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEAiYmEWNvbXBhcmlzb24uZG91YmxlDHRvd2VyLmVuZXJneQhjb25zdGFudAEBCGNvbnN0YW50BAE+CGNvbnN0YW50A5qZmZmZmdk/Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAZkaXNwZWwIY29uc3RhbnQCAAAAABd0b3dlci5tb2R1bGUudXNlaW5zdGFudAt0ZXJuYXJ5LmludBFjb21wYXJpc29uLmRvdWJsZQx0b3dlci5oZWFsdGgIY29uc3RhbnQBAQhjb25zdGFudAQBPghjb25zdGFudAMAAAAAAADgPw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQIZGFuayBzYWMOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECWh1cnJpY2FuZRd0b3dlci5tb2R1bGUudXNlaW5zdGFudA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQFcmFkYXIXdG93ZXIubW9kdWxlLnVzZWluc3RhbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQED3N1cGVyIG11bHRpc2hvdBd0b3dlci5tb2R1bGUudXNlaW5zdGFudAt0ZXJuYXJ5LmludA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQUdG93ZXIuYnVmZnMubmVnYXRpdmUIY29uc3RhbnQEAT4IY29uc3RhbnQCAAAAAAhjb25zdGFudAQCJiYRY29tcGFyaXNvbi5kb3VibGUMdG93ZXIuZW5lcmd5CGNvbnN0YW50AQEIY29uc3RhbnQEAT4IY29uc3RhbnQDmpmZmZmZ2T8OZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEBmRpc3BlbAhjb25zdGFudAIAAAAAF3Rvd2VyLm1vZHVsZS51c2VpbnN0YW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBBuZXV0cmFsIHJlc3BvbnNlGHRvd2VyLm1vZHVsZS51c2Vwb3NpdGlvbg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQGbm9tb3JlDnZlYy5mcm9tQ29vcmRzCGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50AwAAAAAAAAAAF3Rvd2VyLm1vZHVsZS51c2VpbnN0YW50Dmdsb2JhbC5pbnQuZ2V0DnRlcm5hcnkuc3RyaW5nD2NvbXBhcmlzb24uYm9vbBFjb21wYXJpc29uLmRvdWJsZRV0b3dlci5tb2R1bGUuY29vbGRvd24OZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDXN1cGVyIHRvd2VyIDEIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAADAUkAIY29uc3RhbnQEAiYmEWNvbXBhcmlzb24uZG91YmxlFXRvd2VyLm1vZHVsZS5jb29sZG93bg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQNc3VwZXIgdG93ZXIgMghjb25zdGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEDXN1cGVyIHRvd2VyIDIOdGVybmFyeS5zdHJpbmcRY29tcGFyaXNvbi5kb3VibGUVdG93ZXIubW9kdWxlLmNvb2xkb3duDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BA1zdXBlciB0b3dlciAyCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAwFJACGNvbnN0YW50BA1zdXBlciB0b3dlciAxCGNvbnN0YW50BAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCBwAAABFjb21wYXJpc29uLmRvdWJsZQx0b3dlci5oZWFsdGgIY29uc3RhbnQBAQhjb25zdGFudAQCIT0IY29uc3RhbnQDAAAAAAAAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDDxzaXplPTA+ZmluZg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMPHNpemU9MD5maW5mCGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAA=;GGZpbml0ZSBpbmZpbml0aWVzIHYyOmVyYQAAAAAAAAAADgAAAAxnZW5lcmljLndhaXQIY29uc3RhbnQDAAAAAAAA4D8OZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sEHNvZnR3YXJlLmVuYWJsZWQIY29uc3RhbnQEEnNvZnR3YXJlLm5ld2JvdW5kcwhjb25zdGFudAQCPT0IY29uc3RhbnQBAAhjb25zdGFudAQCfHwRY29tcGFyaXNvbi5kb3VibGUKZG91YmxlLm1heAhnYW1lLmVyYQ1nYW1lLmluZmluaXR5CGNvbnN0YW50BAI9PQhjb25zdGFudAMAAAAAAAAAAA1nZW5lcmljLmNsaWNrDHRlcm5hcnkudmVjMhFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5zY3JlZW4ud2lkdGguZAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAADiPwhjb25zdGFudAQBPg9zY3JlZW4uaGVpZ2h0LmQOdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQD9ihcj8L14D8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAAOA/CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAANA/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAMzMzMzMzPTPwhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDpHA9CtejwD8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQMZ2VuZXJpYy53YWl0CGNvbnN0YW50AzMzMzMzM9M/DWdlbmVyaWMuY2xpY2sMdGVybmFyeS52ZWMyEWNvbXBhcmlzb24uZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDnNjcmVlbi53aWR0aC5kCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAOI/CGNvbnN0YW50BAE+D3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAMbL90kBoGVPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA4D8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA0D8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A3sUrkfheoQ/CGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAAOA/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZAhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAOkcD0K16PAPwhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZAxnZW5lcmljLndhaXQIY29uc3RhbnQDAAAAAAAA4D8NZ2VuZXJpYy5jbGljawx0ZXJuYXJ5LnZlYzIRY29tcGFyaXNvbi5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA4j8IY29uc3RhbnQEAT4Pc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A9V46SYxCNw/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAMpXI/C9SisPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQOdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDsHJoke18zz8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDWDm0yHa+nz8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQSZ2VuZXJpYy5zY3JvbGxyZWN0DnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A3sUrkfhepQ/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZBFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAADgPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQIY29uc3RhbnQDAAAAAAAA8L8IY29uc3RhbnQDAAAAAAAAAAANZ2VuZXJpYy5jbGljawx0ZXJuYXJ5LnZlYzIRY29tcGFyaXNvbi5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA4j8IY29uc3RhbnQEAT4Pc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A1K4HoXrUdg/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAO4HoXrUbi+Pwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQOdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQD4XoUrkfhyj8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A/T91HjpJrE/CGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kDWdlbmVyaWMuY2xpY2sMdGVybmFyeS52ZWMyEWNvbXBhcmlzb24uZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDnNjcmVlbi53aWR0aC5kCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAOI/CGNvbnN0YW50BAE+D3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudANSuB6F61HYPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDuB6F61G4vj8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A+F6FK5H4co/CGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAAPA/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZAhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAP0/dR46SaxPwhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZA1nZW5lcmljLmNsaWNrDHRlcm5hcnkudmVjMhFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5zY3JlZW4ud2lkdGguZAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAADiPwhjb25zdGFudAQBPg9zY3JlZW4uaGVpZ2h0LmQOdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDUrgehetR2D8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAAPA/CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A+F6FK5H4co/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAPhehSuR+HKPwhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQDaJHtfD81vj8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQNZ2VuZXJpYy5jbGljawx0ZXJuYXJ5LnZlYzIRY29tcGFyaXNvbi5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA4j8IY29uc3RhbnQEAT4Pc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A1K4HoXrUdg/CGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAPhehSuR+HKPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQOdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoIY29uc3RhbnQD4XoUrkfhyj8IY29uc3RhbnQEASoOc2NyZWVuLndpZHRoLmQRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqCGNvbnN0YW50A2iR7Xw/Nb4/CGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kDWdlbmVyaWMuY2xpY2sMdGVybmFyeS52ZWMyEWNvbXBhcmlzb24uZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDnNjcmVlbi53aWR0aC5kCGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAOI/CGNvbnN0YW50BAE+D3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudANoke18PzXWPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5kb3VibGUOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEATwIY29uc3RhbnQD5q4l5IOe5T8RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAA8D8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDokW28/3UyD8IY29uc3RhbnQEASoOdGVybmFyeS5kb3VibGURY29tcGFyaXNvbi5kb3VibGUVdG93ZXIubW9kdWxlLmNvb2xkb3duDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0ZW1wb3JhbCBiYXJyaWVyCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAADdACGNvbnN0YW50AwAAAAAAAPA/EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlDGRvdWJsZS5yb3VuZBFhcml0aG1ldGljLmRvdWJsZQ10aW1lc3RhbXAubm93CGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAADQEmNBCGNvbnN0YW50BANtb2QIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEASsIY29uc3RhbnQDmG4Sg8DK6T8IY29uc3RhbnQEASoOb3B0aW9uLnVpLnNpemUIY29uc3RhbnQEASoPc2NyZWVuLmhlaWdodC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A1yPwvUoXOM/CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A6JFtvP91Mg/CGNvbnN0YW50BAEqDnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlFXRvd2VyLm1vZHVsZS5jb29sZG93bg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGVtcG9yYWwgYmFycmllcghjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAA3QAhjb25zdGFudAMAAAAAAADwPxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUucm91bmQRYXJpdGhtZXRpYy5kb3VibGUNdGltZXN0YW1wLm5vdwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEqDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqD3NjcmVlbi5oZWlnaHQuZA52ZWMuZnJvbUNvb3JkcxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKghjb25zdGFudAP2KFyPwvXIPwhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZA50ZXJuYXJ5LmRvdWJsZRFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKg5zY3JlZW4ud2lkdGguZAhjb25zdGFudAQBPBFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAOe76fGSzfzPwhjb25zdGFudAQBKg9zY3JlZW4uaGVpZ2h0LmQRYXJpdGhtZXRpYy5kb3VibGUPc2NyZWVuLmhlaWdodC5kCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A4GVQ4ts57s/CGNvbnN0YW50BAEqDnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlFXRvd2VyLm1vZHVsZS5jb29sZG93bg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGVtcG9yYWwgYmFycmllcghjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAA3QAhjb25zdGFudAMAAAAAAADwPxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUucm91bmQRYXJpdGhtZXRpYy5kb3VibGUNdGltZXN0YW1wLm5vdwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAErCGNvbnN0YW50A8uhRbbz/dw/CGNvbnN0YW50BAEqDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A23n+6nx0tU/CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50A4GVQ4ts57s/CGNvbnN0YW50BAEqDnRlcm5hcnkuZG91YmxlEWNvbXBhcmlzb24uZG91YmxlFXRvd2VyLm1vZHVsZS5jb29sZG93bg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGVtcG9yYWwgYmFycmllcghjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAAA3QAhjb25zdGFudAMAAAAAAADwPxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUucm91bmQRYXJpdGhtZXRpYy5kb3VibGUNdGltZXN0YW1wLm5vdwhjb25zdGFudAQBLwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEqDm9wdGlvbi51aS5zaXplCGNvbnN0YW50BAEqDnNjcmVlbi53aWR0aC5kDmdlbmVyaWMuZ290b2lmC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uZG91YmxlFXRvd2VyLm1vZHVsZS5jb29sZG93bg5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGVtcG9yYWwgYmFycmllcghjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAABEQAhjb25zdGFudAINAAAACGNvbnN0YW50AgkAAAARY29tcGFyaXNvbi5kb3VibGUKZG91YmxlLm1pbgx0b3dlci5oZWFsdGgIY29uc3RhbnQBARV0b3dlci5tb2R1bGUuY29vbGRvd24OZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRlbXBvcmFsIGJhcnJpZXIIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAA=;J2Zpbml0ZSBpbmZpbml0aWVzIHYyOmxvYWQgYWJpbGl0aWVzIGlkcwIAAAANZ2FtZS5uZXdyb3VuZAZ3YWtldXABAAAAE2dhbWUuaXNUb3dlclRlc3RpbmcMAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAw8c2l6ZT0wPmZpbmYOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDDxzaXplPTA+ZmluZg5nbG9iYWwuaW50LnNldAhjb25zdGFudAQIZGFuayBzYWMIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQPc3VwZXIgbXVsdGlzaG90CGNvbnN0YW50AgIAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEBmRpc3BlbAhjb25zdGFudAIDAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0ZW1wb3JhbCBiYXJyaWVyCGNvbnN0YW50AgQAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEG5ldXRyYWwgcmVzcG9uc2UIY29uc3RhbnQCBQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQFcmFkYXIIY29uc3RhbnQCBgAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQJaHVycmljYW5lCGNvbnN0YW50AgcAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDXN1cGVyIHRvd2VyIDEIY29uc3RhbnQCCAAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQNc3VwZXIgdG93ZXIgMghjb25zdGFudAIJAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAZub21vcmUIY29uc3RhbnQCCgAAABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQRLS0tU3RvcCBoaWRpbmctLS0IY29uc3RhbnQECTwvc2l6ZT0wPg==

To use these, just switch to the BP and enable the script, and you should be set for getting to Era/Infinity. See Xenos' notes on Discord for additional details about the BP and what can potentially be left out.

This version of the script has the following advantages over the original:

  • Auto-Era Dividers/Disables. This is controlled by the "New Bounds" software - if it is enabled and you are in Era, auto-era will engage, otherwise it is assumed you are doing a normal run to Era 1.
  • The variables configuring the abilities are hidden, and don't clutter the screen.
  • The scripts properly exit when tower testing is done.
  • Fewer scripts overall.

Thanks to infinity^2 and Keirathi for testing/feedback!

Infinity Phase Scripts

SPOLERS BELOW FOR INFINITY PHASE! YOU HAVE BEEN WARNED!















Trading Post Crate Spam

I believe this to use the most efficient crate-gaining strategy currently possible, much better than using the e60 perk. It gets me 5e15 crates/sec from an idle income of 6e56/sec, and scales 10x per e5 of additional resources. It uses turbo exec v2.2 to rapidly move between crate trading and idle mode, such that every rendered frame is in idle mode. Turbo exec v2.2 is required: (https://github.com/d0sboots/TPT2_scripts/blob/main/common/turbo_exec/README.md)

This requires the Air Stone to be active, and remember to put all your Town Perks into crate gain. Go to Tower Testing and enable 100% for cubes in Idle Mode, then press "o".

This script is a bit finicky. It is working correctly if you are "staying" in idle mode, but the gains keep jumping around instead of increasing.

D0S.Crates:Idler_v2 1 1 22 D0S.Crates:Benchmark 1 1 12

FEQwUy5DcmF0ZXM6QmVuY2htYXJrAQAAAAVrZXkuYgEAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAt0cmFkaW5ncG9zdAwAAAAQdG93bi53aW5kb3cuc2hvdwhjb25zdGFudAQLdHJhZGluZ3Bvc3QIY29uc3RhbnQBABB0b3duLndpbmRvdy5zaG93CGNvbnN0YW50BAx0b3dlcnRlc3RpbmcIY29uc3RhbnQBAQ9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEE0QwUy5DcmF0ZXM6SWRsZXJfdjIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQJbmV4dF90aW1lDXRpbWVzdGFtcC5ub3cQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIZW5kX3RpbWURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJbmV4dF90aW1lCGNvbnN0YW50BAErCGNvbnN0YW50AwAAAACj4aFBEWdlbmVyaWMud2FpdHVudGlsEWNvbXBhcmlzb24uZG91YmxlDXRpbWVzdGFtcC5ub3cIY29uc3RhbnQEAT4QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJbmV4dF90aW1lEWdsb2JhbC5zdHJpbmcuc2V0CGNvbnN0YW50BB88c2l6ZT0yMD48Y29sb3I9d2hpdGU+YmVuY2htYXJrBmNvbmNhdAZjb25jYXQGY29uY2F0CGNvbnN0YW50BAIwOgNkMnMMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGVuZF90aW1lCGNvbnN0YW50BAEtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECW5leHRfdGltZQhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAhNeXQQNkMnMRYXJpdGhtZXRpYy5kb3VibGUMZG91YmxlLmZsb29yEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGVuZF90aW1lCGNvbnN0YW50BAEtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECW5leHRfdGltZQhjb25zdGFudAQBLwhjb25zdGFudAMAAAAA0BJjQQhjb25zdGFudAQDbW9kCGNvbnN0YW50AwAAAAAAACRACGNvbnN0YW50BA88L2NvbG9yPjwvc2l6ZT4QbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQJbmV4dF90aW1lEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECW5leHRfdGltZQhjb25zdGFudAQBKwhjb25zdGFudAMAAAAA0BJjQQxnZW5lcmljLmdvdG8LdGVybmFyeS5pbnQRY29tcGFyaXNvbi5zdHJpbmcRZ2xvYmFsLnN0cmluZy5nZXQIY29uc3RhbnQEHTxzaXplPTIwPjxjb2xvcj13aGl0ZT50cmFkaW5nCGNvbnN0YW50BAI9PQhjb25zdGFudAQACGNvbnN0YW50AgwAAAALdGVybmFyeS5pbnQRY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQJbmV4dF90aW1lCGNvbnN0YW50BAI8PRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhlbmRfdGltZQhjb25zdGFudAIGAAAACGNvbnN0YW50AgoAAAARZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEHTxzaXplPTIwPjxjb2xvcj13aGl0ZT50cmFkaW5nCGNvbnN0YW50BBZFeGl0aW5nPC9jb2xvcj48L3NpemU+EWdlbmVyaWMud2FpdHVudGlsEWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BB08c2l6ZT0yMD48Y29sb3I9d2hpdGU+dHJhZGluZwhjb25zdGFudAQCPT0IY29uc3RhbnQEABFnbG9iYWwuc3RyaW5nLnNldAhjb25zdGFudAQfPHNpemU9MjA+PGNvbG9yPXdoaXRlPmJlbmNobWFyawZjb25jYXQGY29uY2F0CGNvbnN0YW50BAdmaW5hbDogA2QycxFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQ10aW1lc3RhbXAubm93CGNvbnN0YW50BAEtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGVuZF90aW1lCGNvbnN0YW50BAErCGNvbnN0YW50AwAAAACj4aFBCGNvbnN0YW50BAEvCGNvbnN0YW50AwAAAADQEmNBCGNvbnN0YW50BA88L2NvbG9yPjwvc2l6ZT4=;E0QwUy5DcmF0ZXM6SWRsZXJfdjIBAAAABWtleS5vAQAAAA9jb21wYXJpc29uLmJvb2wSdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAx0b3dlcnRlc3RpbmcIY29uc3RhbnQEAnx8EnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQLdHJhZGluZ3Bvc3QWAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBWxvb3BzCGNvbnN0YW50AkUBAAARZ2xvYmFsLnN0cmluZy5zZXQIY29uc3RhbnQEHTxzaXplPTIwPjxjb2xvcj13aGl0ZT50cmFkaW5nDnRlcm5hcnkuc3RyaW5nDmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0dXJiby5jeWNsZXMubWF4CGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAACGNvbnN0YW50BDc8Y29sb3I9cmVkPk5lZWQgdHVyYm8gZXhlYyB2Mi4yITwvY29sb3I+PC9jb2xvcj48L3NpemU+DnRlcm5hcnkuc3RyaW5nEWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BB08c2l6ZT0yMD48Y29sb3I9d2hpdGU+dHJhZGluZwhjb25zdGFudAQCPT0IY29uc3RhbnQEAAhjb25zdGFudAQeUHJlc3MgbyB0byBzdG9wPC9jb2xvcj48L3NpemU+CGNvbnN0YW50BBZFeGl0aW5nPC9jb2xvcj48L3NpemU+DGdlbmVyaWMuZ290bwt0ZXJuYXJ5LmludBFjb21wYXJpc29uLnN0cmluZxFnbG9iYWwuc3RyaW5nLmdldAhjb25zdGFudAQdPHNpemU9MjA+PGNvbG9yPXdoaXRlPnRyYWRpbmcIY29uc3RhbnQEAiE9CGNvbnN0YW50BB5QcmVzcyBvIHRvIHN0b3A8L2NvbG9yPjwvc2l6ZT4IY29uc3RhbnQCFgAAAAhjb25zdGFudAIPAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0dXJiby5jeWNsZXMubWF4B2ludC5tYXgOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHR1cmJvLmN5Y2xlcy5tYXgIY29uc3RhbnQCECcAABN0cmFkaW5ncG9zdC5yZWZyZXNoEXRyYWRpbmdwb3N0LnRyYWRlCGNvbnN0YW50AgAAAAAIY29uc3RhbnQDmpmZmZmZuT8TdHJhZGluZ3Bvc3QucmVmcmVzaBF0cmFkaW5ncG9zdC50cmFkZQhjb25zdGFudAIAAAAACGNvbnN0YW50A5qZmZmZmbk/E3RyYWRpbmdwb3N0LnJlZnJlc2gRdHJhZGluZ3Bvc3QudHJhZGUIY29uc3RhbnQCAAAAAAhjb25zdGFudAOamZmZmZm5PxN0cmFkaW5ncG9zdC5yZWZyZXNoEXRyYWRpbmdwb3N0LnRyYWRlCGNvbnN0YW50AgAAAAAIY29uc3RhbnQDmpmZmZmZuT8NbG9jYWwuaW50LnNldAhjb25zdGFudAQBaQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAFpCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEA21vZA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAVsb29wcw5nZW5lcmljLmdvdG9pZghjb25zdGFudAIFAAAADmNvbXBhcmlzb24uaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEAWkIY29uc3RhbnQEAT4IY29uc3RhbnQCAAAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQOdHVyYm8ucmVnaXN0ZXIOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDnR1cmJvLnJlZ2lzdGVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0OYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQGcmVwZWF0CGNvbnN0YW50BANtb2QIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKghjb25zdGFudAICAAAAEHRvd24ud2luZG93LnNob3cOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQGcmVwZWF0CGNvbnN0YW50BANtb2QIY29uc3RhbnQCAgAAAAhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQMdG93ZXJ0ZXN0aW5nCGNvbnN0YW50BAt0cmFkaW5ncG9zdAhjb25zdGFudAEAEHRvd24ud2luZG93LnNob3cOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQGcmVwZWF0CGNvbnN0YW50BANtb2QIY29uc3RhbnQCAgAAAAhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQLdHJhZGluZ3Bvc3QIY29uc3RhbnQEDHRvd2VydGVzdGluZwhjb25zdGFudAEBDWdlbmVyaWMuY2xpY2sMdGVybmFyeS52ZWMyD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29uLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZyZXBlYXQIY29uc3RhbnQEA21vZAhjb25zdGFudAICAAAACGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAACGNvbnN0YW50BAJ8fA5jb21wYXJpc29uLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZyZXBlYXQIY29uc3RhbnQEA21vZAhjb25zdGFudAKIEwAACGNvbnN0YW50BAI9PQhjb25zdGFudAKHEwAADnZlYy5mcm9tQ29vcmRzCGNvbnN0YW50AwAAAAAAAPC/CGNvbnN0YW50AwAAAAAAAPC/D2FyaXRobWV0aWMudmVjMg52ZWMuZnJvbUNvb3Jkcw5vcHRpb24udWkuc2l6ZQ5vcHRpb24udWkuc2l6ZQhjb25zdGFudAQBKgx0ZXJuYXJ5LnZlYzIRY29tcGFyaXNvbi5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAA4j8IY29uc3RhbnQEAT4Pc2NyZWVuLmhlaWdodC5kDnZlYy5mcm9tQ29vcmRzEWFyaXRobWV0aWMuZG91YmxlD3NjcmVlbi5oZWlnaHQuZAhjb25zdGFudAQBKghjb25zdGFudAM5tMh2vp/KPxFhcml0aG1ldGljLmRvdWJsZQ9zY3JlZW4uaGVpZ2h0LmQIY29uc3RhbnQEASoIY29uc3RhbnQD7FG4HoXrsT8OdmVjLmZyb21Db29yZHMRYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDwcqhRbbzvT8RYXJpdGhtZXRpYy5kb3VibGUOc2NyZWVuLndpZHRoLmQIY29uc3RhbnQEASoIY29uc3RhbnQDK4cW2c73oz8NbG9jYWwuaW50LnNldAhjb25zdGFudAQGcmVwZWF0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBnJlcGVhdAhjb25zdGFudAQBKwhjb25zdGFudAIBAAAADGdlbmVyaWMuZ290bwt0ZXJuYXJ5LmludA5jb21wYXJpc29uLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAZyZXBlYXQIY29uc3RhbnQEA21vZAhjb25zdGFudAICAAAACGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BAt0dXJiby5zdGF0ZQhjb25zdGFudAQCIT0IY29uc3RhbnQEBGlkbGUIY29uc3RhbnQCFAAAAAhjb25zdGFudAIPAAAAC3Rlcm5hcnkuaW50EWNvbXBhcmlzb24uc3RyaW5nEWdsb2JhbC5zdHJpbmcuZ2V0CGNvbnN0YW50BB08c2l6ZT0yMD48Y29sb3I9d2hpdGU+dHJhZGluZwhjb25zdGFudAQCPT0IY29uc3RhbnQEHlByZXNzIG8gdG8gc3RvcDwvY29sb3I+PC9zaXplPghjb25zdGFudAIEAAAACGNvbnN0YW50AhUAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQKVEUyLjI6c3RvcAxnbG9iYWwudW5zZXQOdGVybmFyeS5zdHJpbmcOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHR1cmJvLmN5Y2xlcy5tYXgIY29uc3RhbnQEAj09CGNvbnN0YW50AgAAAAAIY29uc3RhbnQEAAhjb25zdGFudAQdPHNpemU9MjA+PGNvbG9yPXdoaXRlPnRyYWRpbmc=

Also included is a benchmarking utility, useful for tuning the loop constant for your machine (for maximum performance). If you don't care, you can safely delete/disable it with no ill effect. Pressing "b" will run the crate trader for 15 seconds, and display the exact amount of time it ran, to let you calculate precise crates/sec. Obviously, you have to record crates before/after to make this work.

Other Utilities

Power Plant Optimizer/Calculator

https://www.desmos.com/calculator/iryztwyeog

Allows for fine-grained control of power-plant building counts to determine the optimal layout, accounting for Town Perks and what building is powered.

Exotic Lab Simulator

https://d0sboots.github.io/PerfectTower/exotic_sim.html

A bit quick-and-dirty, this simulates the mechanics of the Exotic Lab. Mostly it just validates that the best strategy is to put one point into everything and then pump Time Factor and Boost. (But you can see how much time you're gaining for your gems...)

perfecttower's People

Contributors

d0sboots avatar xenos6666 avatar 42njaber avatar gluhouse avatar cloudninjakip avatar nerdpie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.