smol-string 0.1.1-beta → 0.2.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- const J = "KGFzeW5jKCk9PntmdW5jdGlvbiB3KEksQyl7Y29uc3QgQT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSSksZz1DLmFsbG9jVWludDgoQS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIsZyxBLmxlbmd0aCkuc2V0KEEpLHtwdHI6ZyxsZW5ndGg6QS5sZW5ndGh9fWZ1bmN0aW9uIGUoSSl7Y29uc3QgQz1uZXcgQXJyYXkoSS5sZW5ndGgpO2ZvcihsZXQgQT0wO0E8SS5sZW5ndGg7QSsrKUNbQV09U3RyaW5nLmZyb21DaGFyQ29kZShJW0FdKTtyZXR1cm4gQy5qb2luKCIiKX1mdW5jdGlvbiB0KEksQyl7Y29uc3QgQT1uZXcgVWludDMyQXJyYXkoSS5idWZmZXIuc2xpY2UoQyxDKzgpKSxnPUEuYXQoMCksUT1BLmF0KDEpO3JldHVybntzdGFydDpDLWcsZW5kOkMsY2FwYWNpdHk6UX19dmFyIGg9YXN5bmMoST17fSxDKT0+e2xldCBBO2lmKEMuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1DLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0E9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxJKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQyksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsSSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtBPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsSSl9fXJldHVybiBBLmluc3RhbmNlfSxHPUk9PmgoSSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBWDhBWUFSL2YzOS9BR0FDZjM4QmZtQUNmMzhCZjJBRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QUF4OGVBd1FEQkFVRUJnVUhDQUFKQ1FjSkJnUUpDUW9IQlFRQUFnRUxEQW9LQkFVQmNBRUVCQVVEQVFBUkJnNENmd0ZCZ0lEQUFBdC9BRUVBQ3dkRUJnWnRaVzF2Y25rQ0FBcGhiR3h2WTFWcGJuUTRBQUFMWVd4c2IyTlZhVzUwTVRZQUFnUm1jbVZsQUFRSVkyOXRjSEpsYzNNQUN3cGtaV052YlhCeVpYTnpBQkVKQ1FFQVFRRUxBeGNZR1FxL09CNWVBUUYvSTRDQWdJQUFRUkJySWdFa2dJQ0FnQUFnQVNPQmdJQ0FBRUdZZ01DQUFHb3BBd0EzQXdBZ0FVRUlhaUFCSUFBUWdZQ0FnQUFDUUNBQkx3RU1EUUFnQVNnQ0NDRUFJQUZCRUdva2dJQ0FnQUFnQUE4TEEzOEFEQUFMQzNFQ0FYOEJmaU9BZ0lDQUFFRVFheUlESklDQWdJQUFRb0NBZ0lBUUlRUUNRRUVCUlEwQUFrQWdBZzBBUXYvLy8vOFBJUVFNQVFzZ0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVZQ0FnSUFBQUNJQ1JhMUNJSVlnQXEyRUlRUUxJQUFnQkRjQ0FDQURRUkJxSklDQWdJQUFDMTRCQVg4amdJQ0FnQUJCRUdzaUFTU0FnSUNBQUNBQkk0R0FnSUFBUVppQXdJQUFhaWtEQURjREFDQUJRUWhxSUFFZ0FCQ0RnSUNBQUFKQUlBRXZBUXdOQUNBQktBSUlJUUFnQVVFUWFpU0FnSUNBQUNBQUR3c0Rmd0FNQUFzTGh3RUNBWDhCZmlPQWdJQ0FBRUVRYXlJREpJQ0FnSUFBSUFNZ0FrRUFTRG9BREFKQUFrQWdBa0YvU2cwQVFvQ0FnSUFRSVFRTUFRc0NRQ0FDUVFGMElnSU5BRUwrLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VCUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBc1pBQ09CZ0lDQUFFR1lnTUNBQUdvZ0FDQUJFSVdBZ0lBQUN6Z0JBWDhDUUNBQ1FRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQnF0V3ExWG9nQWhzZ0EwRUFRUUFnQUNnQ0JDZ0NDQkdCZ0lDQUFBQUxDdzhBSUFBZ0FFRU1haENIZ0lDQUFBdHdBUU4vQWtBZ0FDZ0NBQ0lDUlEwQUFrQWdBa0YwYWlJRFFRaHFLQUlBSWdKQkNtd2dBa0VQYWtGOGNXcEJBMnBCZkhFaUFrRUFJQUliSWdSRkRRQWdBU2dDQUNBRFFRUWdBaHNnQkVFQ1FRQWdBU2dDQkNnQ0NCR0JnSUNBQUFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzlnQ0F3Ui9BWDRFZnlPQWdJQ0FBRUVRYXlJRUpJQ0FnSUFBSTRHQWdJQUFJUVVnQVNnQ0FDRUdBa0FDUUNBQktBSUVEUUFnQlVHQWdNQ0FBR29oQnd3QkN5QUNJQU1RaVlDQWdBQWhDQUpBQWtBZ0JnMEFRUUFoQlVGL0lRa01BUXNnQmtGOGFpZ0NBQ0lGUVg5cUlRa0xJQVpCZUdvaENpQUpJQWluY1NFQklBaENPWWluSVFzRFFDT0JnSUNBQUVHQWdNQ0FBR29oQnlBR0lBRnFMQUFBSWd4RkRRRWdCVVVOQVFKQUlBeEJmMG9OQUNBTElBeEIvd0J4UncwQUlBSWdBeUFLS0FJQUlBRkJBM1JxSWd3b0FnQWdEQ2dDQkJDS2dJQ0FBRUVCY1VVTkFDQUVRUUU2QUF3Z0JDQUJOZ0lJSUFSQkNHb2hCd3dDQ3lBRlFYOXFJUVVnQVVFQmFpQUpjU0VCREFBTEN3SkFBa0FnQnkwQUJBMEFRUUFoQVVFQUlRVU1BUXNnQmtGMGFpZ0NBQ0FIS0FJQVFRRjBhaThCQUNFQlFZQ0FCQ0VGQ3lBQUlBVWdBWEkyQVFBZ0JFRVFhaVNBZ0lDQUFBdWhDd0lCZnd0K0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUlBR3RJUU1DUUFKQUlBRkJJRXNOQUFKQUlBRkJFVThOQUFKQUlBRkJDRWtOQUNBQUtRQUFRcytBd2Z5eXg5cndtbjk4SWdSQ0o0a2dBU0FBYWtGNGFpa0FBQ0lGZkNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTWdBeUFGUWh1SklBWitJQVI4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUF3c0NRQ0FCUVFSSkRRQWdBRFVBQUVJRGhpQURmQ0FCSUFCcVFYeHFOUUFBSWdTRklBTkNBWVpDejREQi9MTEgydkNhZjN3aUJuNGlCVUl2aUNBRWhTQUZoU0FHZmlJRVFpK0lJQVNGSUFaK0lRWU1Bd3NDUUNBQkRRQkN6NERCL0xMSDJ2Q2FmeUVHREFNTElBRWdBR3BCZjJvdEFBQkJBblFnQVdxdFFxZmlyTDdKaS9MU1EzNGdBQ0FCUVFGMmFqRUFBRUlJaGlBQU1RQUFoRUxQZ01IOHNzZmE4SnAvZm9VaUJrSXZpQ0FHaFVMUGdNSDhzc2ZhOEpwL2ZpRUdEQUlMSUFBcEFBZ2lCRUxQZ01IOHNzZmE4SnAvZkVJdWlTQUFLUUFBUXZQazQvVDd6YTNKdEg5K0lnVjhJQUVnQUdvaUFFRjRhaWtBQUNBRFFnR0dRcytBd2Z5eXg5cndtbjk4SWdaK0lnTjhJZ2NnQnlBRFFpS0pJQVVnQkh4Q0ZZbDhJQUJCY0dvcEFBQkN6NERCL0xMSDJ2Q2FmMzU4aFNBR2ZpSUVRaStJaFNBRWhTQUdmaUlFUWkrSUlBU0ZJQVorSVFZTUFRc0NRQ0FCUWNFQVNRMEFJQUVnQUdvaUFVRllhaWtBQUNFSElBRkJTR29wQUFBaEJpQUJRWEJxS1FBQUlRZ2dBaUFCUVVCcUlBTWdBVUZRYWlrQUFDQURmQ0FCUVdocUtRQUFFSnFBZ0lBQUlna1FtNENBZ0FBZ0Fpa0RDQ0VFSUFJcEF3QWhCU0FDUVJCcUlBRkJZR29nQmlBSWZDSUdRdlBrNC9UN3phM0p0SDk4SUFjUW00Q0FnQUJDQUNBRFFuOThRa0NEZlNFS0lBQXBBQUFnQjBMejVPUDArODJ0eWJSL2Zud2hDQ0FDS1FNWUlRTWdBaWtERUNFSEEwQWdBQ2tBTUNFTElBQXBBQ2doRENBQ1FTQnFJQUFnQkVMejVPUDArODJ0eWJSL2ZpQUdJQVY4SUFoOElBQXBBQWg4UWh1SlF2UGs0L1Q3emEzSnRIOStJQU9GSWcwZ0Izd1FtNENBZ0FBZ0RDQUZmQ0VNSUFZZ0JId2hCaUFDS1FNb0lRUWdBaWtESUNFRklBSkJNR29nQUVFZ2FpQUpJQWQ4UWgrSlF2UGs0L1Q3emEzSnRIOStJZ2dnQTN3Z0FDa0FFQ0FNSUFZZ0MzeENGb2xDOCtUajlQdk5yY20wZjM1OElnWjhFSnVBZ0lBQUlBQkJ3QUJxSVFBZ0Fpa0RPQ0VESUFJcEF6QWhCeUFOSVFrZ0NrTEFBSHdpQ2tJQVVnMEFDeUFHUWkrSUlBYUZRdlBrNC9UN3phM0p0SDkrSUExOElBVWdCeENhZ0lDQUFId2dCQ0FERUpxQWdJQUFJQWg4RUpxQWdJQUFJUVlNQVFzZ0FTQUFhaUlCUVhCcUtRQUFJQU5DQVlaQ3o0REIvTExIMnZDYWYzd2lCSDRpQlNBQlFXQnFLUUFBSWdOOElBQXBBQmhDQ1g0aUJ5QUFLUUFRUXMrQXdmeXl4OXJ3bW45K2ZDSUlJQUZCYUdvcEFBQWlCbndpQ1NBQUtRQUlJZ3A4SUFrZ0FVRjRhaWtBQUNJTmZDQUlRaGFKSUFaOElnaDhJQWNnRFNBQUtRQUFRcytBd2Z5eXg5cndtbjkrZkNJSklBT0ZmRUlCZkNJRElBVjhJQWxDRllrZ0NrSWlpU0FHZkVJSmZud2dBM3dnQkg0aUJrSTRoaUFHUW9EK0E0TkNLSWFFSUFaQ2dJRDhCNE5DR0lZZ0JrS0FnSUQ0RDROQ0NJYUVoQ0FHUWdpSVFvQ0FnUGdQZ3lBR1FoaUlRb0NBL0FlRGhDQUdRaWlJUW9EK0E0TWdCa0k0aUlTRWhId2dCSDRpQmtJNGhpQUdRb0QrQTROQ0tJYUVJQVpDZ0lEOEI0TkNHSVlnQmtLQWdJRDRENE5DQ0lhRWhDQUdRZ2lJUW9DQWdQZ1BneUFHUWhpSVFvQ0EvQWVEaENBR1FpaUlRb0QrQTRNZ0JrSTRpSVNFaEh3Z0JINGlCa0k0aGlBR1FvRCtBNE5DS0lhRUlBWkNnSUQ4QjROQ0dJWWdCa0tBZ0lENEQ0TkNDSWFFaENBR1FnaUlRb0NBZ1BnUGd5QUdRaGlJUW9DQS9BZURoQ0FHUWlpSVFvRCtBNE1nQmtJNGlJU0VoSHdnQkg1OElnWkNMNGdnQm9VZ0JINGdDSHdoQmdzZ0FrSEFBR29rZ0lDQWdBQWdCZ3VzQVFFRmYwRUFJUVFDUUNBQklBTkhEUUFnQVVFQ2RrRUJhaUVGSUFJaEF5QUFJUVlDUUFOQUlBVkJmMm9pQlVVTkFTQURLQUFBSVFjZ0JpZ0FBQ0VJSUFOQkJHb2hBeUFHUVFScUlRWWdDQ0FIUmcwQURBSUxDeUFCUVFOeElRTWdBQ0FCUVh4eElnVnFJUVlnQWlBRmFpRUZBMEFnQTBVaEJDQURSUTBCSUFOQmYyb2hBeUFGTFFBQUlRY2dCaTBBQUNFSUlBWkJBV29oQmlBRlFRRnFJUVVnQ0NBSFJnMEFDd3NnQkF1WkNnVUJmd0YrQjM4QmZnTi9JNENBZ0lBQVFaQUJheUlDSklDQWdJQUFBa0FDUUFKQUlBRU5BQ09CZ0lDQUFFR1lnTUNBQUdvcEF3QWhBMEdxMWFyVmVpRUVRUUFoQlVFQUlRWU1BUXRCQUNFSElBSkJHR3BCQ0dwQkFEWUNBQ0FDUWdBM0F4Z2dBaU9CZ0lDQUFFR1lnTUNBQUdvcEF3QWlBemNDSkNBQ1FmZ0Fha0VJYWtFQU5nSUFJQUpDQURjRGVDQUJRZi8vQXlBQlFmLy9BMGtiUWVRQWJFSFFBRzRoQ0NBQ1FTUnFJUWtDUUFKQVFRQU5BRUY4SVFaQ0FVRWdJQWhuYTYxQy8vOERnNGFuSWdoQkNDQUlRUWhMR3lJSVFRRjBJQWhCRDJwQmZIRWlDaUFJUVFOMGFpSUZha0VEYWtGOGNTSUVSUTBCSUFPbklBUkJBa0VBSUFOQ0lJaW5LQUlBRVlDQWdJQUFBQ0lHRFFFTElBSkIrQUJxSUFrUWg0Q0FnQUFnQWtFWWFoQ0dnSUNBQUF3Q0N5QUdJQWcyQWdnZ0JpQUdJQXBxTmdJRUlBWWdCaUFGYWpZQ0FDQUNJQVpCREdvaUJqWUNlRUVBSVFjZ0JrRUFJQWdRbklDQWdBQWFJQUpCK0FCcVFRaHFJZ1lnQ0VIUUFHeEI1QUJ1SWdnMkFnQWdBa0VZYWtFSWFpSUtLQUlBSVFVZ0NpQUlOZ0lBSUFZZ0JUWUNBQ0FDUVFBMkFod2dBaWtER0NFTElBSWdBaWtEZURjREdDQUNJQXMzQTNnZ0FrSDRBR29nQ1JDSGdJQ0FBQ0FDSUFNM0FvUUJJQUpCQURZQ2dBRWdBa0txMWFyVkNqY0NlQUpBSUFKQitBQnFJQUVRaklDQWdBQkIvLzhEY1VVTkFDQUNRUmhxRUlhQWdJQUFEQUlMSUFJcEFvUUJJUU1nQWlnQ2dBRWhCU0FDS0FKOElRd2dBaWdDZUNFRVFZQUNJUTFCQUNFSEEwQWdBQ0FIYWlFSVFRSWhCZ0pBQWtBQ1FBTkFBa0FDUUNBSElBWnFJZ2tnQVU4TkFDQUNRU3hxSUFKQkdHb2dDQ0FHRUlpQWdJQUFJQUl0QUM0TkFTQUtJUWNnQmtFQ1JnMEREQVVMQWtBZ0IwRUJhaUFCU1EwQUlBZ3RBQUFoQmd3RUN5QUNRVEJxUVJCcUlBSkJHR3BCRUdvb0FnQTJBZ0FnQWtFd2FrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRE1DQUNRY1FBYWlBQ1FUQnFJQWdnQmhDSWdJQ0FBQUpBQWtBQ1FDQUNMUUJHRFFBZ0JrRUNSdzBCSUFndEFBQWhCZ3dDQ3lBQ0x3RkVJUVlNQlFzZ0FrSElBR3BCRUdvZ0FrRVlha0VRYWlnQ0FEWUNBQ0FDUWNnQWFrRUlhaUFDUVJocVFRaHFLUU1BTndNQUlBSWdBaWtER0RjRFNDQUNRZUFBYWlBQ1FjZ0FhaUFJSUFaQmYyb1FpSUNBZ0FBZ0FpOEJZQ0VHQ3lBRUlBeEJBWFJxSUFZN0FRQWdERUVCYWlFTUlBa2dBR3BCZjJvdEFBQWhCZ3dEQ3lBR1FRRnFJUVlnQWk4QkxDRUtEQUFMQ3lBSUxRQUFJUWNNQVFzZ0JDQU1RUUYwYWlBR093RUFJQXhCQVdvaEJpQUNRUmhxRUlhQWdJQUFEQUlMSUFRZ0RFRUJkR29nQnpzQkFDQU1RUUZxSVE0Z0NVRi9haUVIQWtBZ0RVSC8vd054UWY3L0EwY05BQUpBSUFJb0FoZ2lCa1VOQUNBR1FRQWdCa0Y4YWlnQ0FDSUlFSnlBZ0lBQUdpQUNRUUEyQWh3Z0FpQUlyVUxRQUg1QzVBQ0FQZ0lnQ3lBRUlBNUJBWFJxUWY3L0F6c0JBQ0FNUVFKcUlReEJnQUloRFF3QkN5QUNRUmhxSUFnZ0JpQU5FSTJBZ0lBQUlBMUJBV29oRFNBT0lRd01BQXNMSUFJZ0F6Y0NFQ0FDSUFRMkFnUWdBaUFHTmdJSUlBSWdCVFlDRENBR0lRRUNRQ0FGSUFaQkJHb2lDRThOQUVFQUlRY2dBa0VFYWlBRklBZ1Fqb0NBZ0FBUWpJQ0FnQUJCLy84RGNRMEJJQUlvQWdRaEJDQUNLQUlJSVFFTElBUWdBVUVCZEdvaUFTQUdRUUYwSWdjN0FRQWdBVUVDYWlBR1FROTJPd0VBSUFGQkJHb2dCVUVCZERzQkFDQUJRUVpxSUFWQkQzWTdBUUFnQkNBSGFpRUhDeUFDUVpBQmFpU0FnSUNBQUNBSEM1TUNBUVovSTRDQWdJQUFRUkJySWdJa2dJQ0FnQUJCQUNFREFrQWdBQ2dDQ0NJRUlBRlBEUUFnQUNnQ0FDRUZBa0FnQkVVTkFDQUNJQUZCQUVnNkFBZ2dBVUYvVEEwQUlBQW9BZ3dnQlNBRVFRRjBRUUVnQVVFQmRFRUFJQUJCRUdvb0FnQW9BZ1FSZ29DQWdBQUFRUUZ4UlEwQUlBQWdBVFlDQ0VFQUlRTU1BUXNnQWlBQUtRSU1Od01BSUFKQkNHb2dBaUFCRUlPQWdJQUFJQUl2QVF3aUF3MEFJQUlvQWdnZ0FDZ0NBQ0FBS0FJRVFRRjBFSjJBZ0lBQUlRWkJBQ0VEQWtBZ0JFRUJkRUVBSUFRYklnZEZEUUFnQUNnQ0RDQUZRUUlnQkJzZ0IwRUJRUUFnQUVFUWFpZ0NBQ2dDQ0JHQmdJQ0FBQUFMSUFBZ0FUWUNDQ0FBSUFZMkFnQUxJQUpCRUdva2dJQ0FnQUFnQXd1WUF3TUNmd0YrQm44amdJQ0FnQUJCRUdzaUJDU0FnSUNBQUFKQUlBQW9BZ1JGRFFBZ0FDZ0NBQ0VGSUFFZ0FoQ0pnSUNBQUNFR0FrQUNRQ0FGRFFCQkFDRUhRWDhoQ0F3QkN5QUZRWHhxS0FJQUlnZEJmMm9oQ0FzZ0JVRjRhaUVKSUFnZ0JxZHhJUW9nQmtJNWlLY2hDd05BSUFVZ0Ntb3NBQUFpREVVTkFTQUhSUTBCQWtBZ0RFRi9TZzBBSUFzZ0RFSC9BSEZIRFFBZ0FTQUNJQWtvQWdBZ0NrRURkR29pRENnQ0FDQU1LQUlFRUlxQWdJQUFRUUZ4UlEwQUlBUkJBVG9BREF3Q0N5QUhRWDlxSVFjZ0NrRUJhaUFJY1NFS0RBQUxDeUFCSUFJUWlZQ0FnQUFoQmtGL0lRd0NRQ0FBS0FJQUlnZEZEUUFnQjBGOGFpZ0NBRUYvYWlFTUN5QU1JQWFuY1NFS0FrQURRQ0FISUFwcUlnVXNBQUJCZjBvTkFTQUtRUUZxSUF4eElRb01BQXNMSUFBZ0FDZ0NDRUYvYWpZQ0NDQUZJQVpDT1lpblFZQUJjam9BQUNBQUtBSUFRWGhxS0FJQUlBcEJBM1JxSWdjZ0FqWUNCQ0FISUFFMkFnQWdBQ2dDQUVGMGFpZ0NBQ0FLUVFGMGFpQURPd0VBSUFBZ0FDZ0NCRUVCYWpZQ0JDQUVRUkJxSklDQWdJQUFDeVVCQVg4RFFFRi9JQUJCQVhZZ0FHcEJDR29pQWlBQ0lBQkpHeUlBSUFGSkRRQUxJQUFMUHdFQmZ5T0FnSUNBQUVFUWF5SUJKSUNBZ0lBQUlBRWdBQ2tDRERjRENDQUJRUWhxSUFBb0FnQWdBQ2dDQ0JDUWdJQ0FBQ0FCUVJCcUpJQ0FnSUFBQ3pjQkFYOENRQ0FDUVFOMFFRQWdBaHNpQTBVTkFDQUFLQUlBSUFGQkJDQUNHeUFEUVFKQkFDQUFLQUlFS0FJSUVZR0FnSUFBQUFzTDJ3Y0RBWDhCZmdsL0k0Q0FnSUFBUWNBQWF5SUNKSUNBZ0lBQUk0R0FnSUFBUVppQXdJQUFhaWtEQUNFREFrQUNRQUpBQWtBZ0FRMEFRYXJWcXRWNklRUkJBQ0VGUVFBaEJnd0JDeUFDUVFBMkFpQWdBa0txMWFyVkNqY0NHQ0FDSUFNM0FpUWdBa0VBUWYvL0F4Q09nSUNBQUNJSFFmLy8vLzhCU3pvQUxDQUhRWUNBZ0lBQ1R3MEJBa0FDUUNBSFFRTjBJZ2dOQUVGOElRZ01BUXNnQTZjZ0NFRUNRUUFnQTBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFJTElBSWdCellDSUNBQ0lBZzJBaGhCQUNFSEFrQURRQ0FIUWZqL0gwWU5BU0FJSUFkcVFnQTNBZ0FnQjBFSWFpRUhEQUFMQ3lBQ1FmLy9BellDSENBQ0lBTTNBamhCQUNFSElBSkJBRFlDTkNBQ1FxclZxdFVLTndJc0lBSkJMR29nQVVFWWJCQ1NnSUNBQUVILy93TnhEUUVnQWlrQ09DRURJQUlvQWpRaEJTQUNLQUlzSWdRZ0FpZ0NNQ0lHYWlBQUxRQUFPZ0FBSUFnZ0FDOEJBRUVEZEdvaUNVRUJOZ0lFSUFrZ0JEWUNBQ0FHUVFGcUlRcEJBU0VKUVlBQ0lRc0RRQ0FLSVFZQ1FBSkFBa0FDUUNBSklBRlBEUUFDUUNBQUlBbEJBWFJxTHdFQUlncEIvdjhEUncwQUlBbEJBV29pQ1NBQlR3MEJRUUFoQndKQUEwQWdCMEg0L3g5R0RRRWdDQ0FIYWtJQU53SUFJQWRCQ0dvaEJ3d0FDd3NDUUNBQUlBbEJBWFJxTHdFQUlnZEJnQUpKRFFBZ0FrSC8vd00yQWh3TUNBc2dCQ0FHYWlBSE9nQUFJQVpCQVdvaENrR0FBaUVMREFRTElBcEJnQUpKRFFFQ1FDQUlJQXBCQTNScUlnb29BZ0FpREEwQUlBUWdCbW9nQkNBSGFpSUtJQVlnQjJzaURCQ2RnSUNBQUJvZ0JDQU1JQVpxSWd4cUlBb3RBQUE2QUFBZ0RFRUJhaUVLREFNTElBUWdCbW9nRENBS0tBSUVJZ29RbllDQWdBQWFJQW9nQm1vaENnd0NDeUFDUWYvL0F6WUNIQ0FDUVJocUVJK0FnSUFBREFRTElBUWdCbW9nQ2pvQUFDQUdRUUZxSVFvTElBZ2dDMEgvL3dOeFFRTjBhaUlNSUFZZ0IydEJBV28yQWdRZ0RDQUVJQWRxTmdJQUlBdEJBV29oQ3dzZ0NVRUJhaUVKSUFZaEJ3d0FDd3NnQWlBRE53SVFJQUlnQkRZQ0JDQUNJQVkyQWdnZ0FpQUZOZ0lNQWtBQ1FDQUZJQVpCQ0dvaUNFa05BQ0FHSVFjTUFRdEJBQ0VISUFKQkJHb2dCU0FJRUk2QWdJQUFFSktBZ0lBQVFmLy9BM0VOQWlBQ0tBSUVJUVFnQWlnQ0RDRUZJQUlvQWdnaEJ3c2dCQ0FIYWlJSElBWTZBQUFnQjBFSGFpQUZRUmgyT2dBQUlBZEJCbW9nQlVFUWRqb0FBQ0FIUVFWcUlBVkJDSFk2QUFBZ0IwRUVhaUFGT2dBQUlBZEJBMm9nQmtFWWRqb0FBQ0FIUVFKcUlBWkJFSFk2QUFBZ0IwRUJhaUFHUVFoMk9nQUFJQVFnQm1vaEJ3d0JDeUFDUVJocUVJK0FnSUFBUVFBaEJ3c2dBa0hBQUdva2dJQ0FnQUFnQnd2YUFRRUZmeU9BZ0lDQUFFRWdheUlDSklDQWdJQUFRUUFoQXdKQUlBQW9BZ2dpQkNBQlR3MEFJQUFvQWdBaEJRSkFBa0FnQkVVTkFFRUFEUUFnQUNnQ0RDQUZJQVJCQUNBQlFRQWdBRUVRYWlnQ0FDZ0NCQkdDZ0lDQUFBQkJBWEZGRFFBZ0FDQUJOZ0lJREFFTElBSWdBRUVNYWlJR0tRSUFOd01RSUFKQkdHb2dBa0VRYWlBQkVJR0FnSUFBSUFJdkFSd2lBdzBCSUFJb0FoZ2dBQ2dDQUNBQUtBSUVFSjJBZ0lBQUlRTWdCaUFGSUFRUWhZQ0FnQUFnQUNBQk5nSUlJQUFnQXpZQ0FBdEJBQ0VEQ3lBQ1FTQnFKSUNBZ0lBQUlBTUwwZ0lEQm44QmZnZC9JNENBZ0lBQVFSQnJJZ01rZ0lDQWdBQWdBQ2dDQkNFRUlBQW9BZ0FoQlVFQUlRWWdBa0gvQVhFaEJ3Ti9Ba0FDUUFKQUlBWWdCRWNOQUVGL0lRZ01BUXNDUUNBRklBWkJCSFJxSWdKQkNHb3BBd0FpQ1VJQVV3MEFJQUlwQXdCN0lBbDdmS2NnQVVrTkFnc2dCa0VIZENJSVFZQUJhaUVLQTBBZ0NDQUtUdzBDSUFnZ0FDa0NBQ0lKUWhtSXAwR0FmM0VpQWlBSUlBSkxHeUlMSUFocklRd2dDYWRCQ0NBSlFpQ0lweHNoRFNBSVFSQjBhQ0VPUVFBaEFnSkFBMEFDUUNBTUlBSkhEUUFnQ3lFUERBSUxRZjhCSUFnZ0Ftb2lEMEVIY1NJUVFRZHpka0VCSUJCMGNTQU5JQTlCQTNacUxRQUFjVVVOQVNBQ1FRRnFJZ0lnQVVrTkFDQU9JQWRKRFFBTElBTWdDVGNEQ0NBRFFRaHFJQWdnQVVFQUVKU0FnSUFBREFJTElBOUJBV29oQ0F3QUN3c2dBMEVRYWlTQWdJQ0FBQ0FJRHdzZ0JrRUJhaUVHREFBTEMxUUJBWDhnQTBFQmNTRUVBa0FEUUNBQ1JRMEJJQUFvQWdCQkNDQUFLQUlFR3lBQlFRTjJhaUlESUFNdEFBQkJmaUFCUVFkeElnTjNjU0FFSUFOMGNqb0FBQ0FCUVFGcUlRRWdBa0YvYWlFQ0RBQUxDd3ZiQVFFRGZ5T0FnSUNBQUVFUWF5SUNKSUNBZ0lBQUFrQWdBRUdBRUU4TkFDT0JnSUNBQUVHb2dNQ0FBR29nQUNBQlFZQVFJQUZCZ0JCSkd5QUFheENXZ0lDQUFBc0NRQ0FCUVlBUVRRMEFBa0FqZ1lDQWdBQkJvSURBZ0FCcUtBSUVEUUFqZ1lDQWdBQkJvSURBZ0FCcUlnTkJnQ0EyQWdRZ0F5QUJRWDlxSWdGQkVIUWlCRFlDQUNBRVFRQkJnSUFFRUp5QWdJQUFHZ3NnQWlPQmdJQ0FBRUdnZ01DQUFHb3BBd0EzQXdnZ0FrRUlhaUFBUVlBUUlBQkJnQkJMR3lJQVFZQndhaUFCSUFCckVKYUFnSUFBQ3lBQ1FSQnFKSUNBZ0lBQUN6c0JBWDhqZ0lDQWdBQkJFR3NpQXlTQWdJQ0FBQ0FESUFBcEFnQTNBd2dnQTBFSWFpQUJJQUpCQVJDVWdJQ0FBQ0FEUVJCcUpJQ0FnSUFBQzcwQkFRUi9RUUFoQkFKQUlBRkJnWUI4VHcwQUFrQWpnWUNBZ0FCQnFJREFnQUJxSUFGQi8vOERha0VRZGlJQklBSVFrNENBZ0FBaUJFRi9SdzBBQWtBamdZQ0FnQUJCb0lEQWdBQnFJQUVnQWhDVGdJQ0FBQ0lFUVg5R0RRQWdCRUdBRUdvaEJBd0JDMEVBSVFSQkFTQUNkQ0lGUHdBaUJrRVFkQ0lDYWtGL2FrRUFJQVZyY1NJRklBSnJRUkIySWdjZ0FXcEFBRUVCU0EwQklBY2dCbW9oQkNBRklBSkdEUUFnQmlBRUVKV0FnSUFBQ3lBRVFSQjBJUVFMSUFRTFR3RUJmd0pBSUFKQi8vOERhaUlHUVlDQWZIRWdCRThpQWtVTkFDQUVRZi8vQTJwQkVIWWlCQ0FHUVJCMklnWkdEUUFnQkNBQlFmLy9BMnBCRUhZaUFXb2dBU0FHYWhDVmdJQ0FBQXNnQWdzaEFDQUJRZi8vQTJwQkVIWWlBU0FCSUFKQi8vOERha0VRZG1vUWxZQ0FnQUFMUGdBZ0FTQUFoVUxwMnVEWmpzSDY3NTEvZmlJQVFpK0lJQUdGSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0ZDTDRnZ0FZVkM2ZHJnMlk3Qit1K2RmMzRMUWdFQ2ZpQUFJQUVwQUFBZ0Fud2lBaUFCS1FBSWZDQUJLUUFRZkNJRUlBRXBBQmdpQlh3M0F3QWdBQ0FFUWhTSklBSjhJQVVnQWlBRGZIeENLNGw4TndNSUN5d0JBWDhDUUNBQ1JRMEFJQUFoQXdOQUlBTWdBVG9BQUNBRFFRRnFJUU1nQWtGL2FpSUNEUUFMQ3lBQUMwSUJBWDhDUUNBQ1JRMEFJQUpCZjJvaEFpQUFJUU1EUUNBRElBRXRBQUE2QUFBZ0FrVU5BU0FDUVg5cUlRSWdBVUVCYWlFQklBTkJBV29oQXd3QUN3c2dBQXNMUVFJQVFZQ0F3QUFMQ0FBQUFBQUFBQUFBQUVHSWdNQUFDeWdCQUFBQUFnQUFBQU1BQUFBQUFBQUFBQUFBQUFnQUVBQ3FxcXFxQUFBQUFEQUFFQUFRQUFBQSIpO2NvbnN0IGY9YXdhaXQgRygpLEI9Zi5leHBvcnRzO2Z1bmN0aW9uIHMoSSl7Y29uc3R7cHRyOkMsbGVuZ3RoOkF9PXcoSSxCKSxnPUIuY29tcHJlc3MoQyxBKTtCLmZyZWUoQyxBKTtjb25zdHtzdGFydDpRLGVuZDpFLGNhcGFjaXR5Oml9PXQoQi5tZW1vcnksZyksbz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLnNsaWNlKFEsRSkpLEQ9ZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1mdW5jdGlvbiBuKEkpe2NvbnN0IEM9Qi5hbGxvY1VpbnQxNihJLmxlbmd0aCksQT1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEMsSS5sZW5ndGgpO2ZvcihsZXQgYT0wO2E8SS5sZW5ndGg7YSsrKUFbYV09SS5jaGFyQ29kZUF0KGEpO2NvbnN0IGc9Qi5kZWNvbXByZXNzKEMsSS5sZW5ndGgpO0IuZnJlZShDLDIqSS5sZW5ndGgpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09dChCLm1lbW9yeSxnKSxvPW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShRLEUpKSxEPW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShvKTtyZXR1cm4gQi5mcmVlKFEsaSksRH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihJKXtjb25zdHtjb21tYW5kOkMsaWQ6QSxkYXRhOmd9PUkuZGF0YTtzd2l0Y2goQyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOm4oZyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6QSxkYXRhOnMoZyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
- function W(Q) {
1
+ const l = "KGFzeW5jKCk9PntmdW5jdGlvbiBGKEEsQil7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksZz1CLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShCLm1lbW9yeS5idWZmZXIsZyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6ZyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIG4oQSl7Y29uc3QgQj1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKUJbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gQi5qb2luKCIiKX1mdW5jdGlvbiB3KEEsQil7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoQixCKzgpKSxnPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpCLWcsZW5kOkIsY2FwYWNpdHk6UX19dmFyIGU9YXN5bmMoQT17fSxCKT0+e2xldCBJO2lmKEIuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgZz1CLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShnLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoZyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IGc9YXdhaXQgZmV0Y2goQiksUT1nLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGcsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IGcuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxHPUE9PmUoQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJWZzFnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQU4vZjM4QVlBSi9md0JnQW45L0FYOWdCbjkvZjM5L2Z3Ri9ZQVIvZjM5L0FHQUJmd0YvWUFGL0FHQURmMzkvQVg5Z0FuOS9BWDVnQW41K0FYNWdCSDkvZm40QUF5SWhCd0lIQXdnREJnb0FBd1FFQkFJR0JBZ0FBQUlDQkFrR0F3SUFCUUVMREFNSkJBVUJjQUVFQkFVREFRQVJCZ2tCZndGQmdJREFBQXNIUkFZR2JXVnRiM0o1QWdBS1lXeHNiMk5WYVc1ME9BQUFDMkZzYkc5alZXbHVkREUyQUFJRVpuSmxaUUFEQ0dOdmJYQnlaWE56QUFvS1pHVmpiMjF3Y21WemN3QVJDUWtCQUVFQkN3TWFHeHdLbWtRaFBBRUJmeU1BUVJCcklnRWtBQ0FCUVppQXdBQXBBd0EzQXdBZ0FVRUlhaUFCSUFBUUFTQUJMd0VNUlFSQUlBRW9BZ2dnQVVFUWFpUUFEd3NBQzBZQkFYOGpBRUVRYXlJREpBQWdBQ0FDQkg0Z0FTZ0NBQ0FDUVFCQkFDQUJLQUlFS0FJQUVRQUFJZ0d0SUFGRnJVSWdob1FGUXYvLy8vOFBDemNDQUNBRFFSQnFKQUFMWXdJQ2Z3RitJd0JCRUdzaUFTUUFJQUVnQUVFQVNDSUNPZ0FNQWtBZ0FnMEFBa0FnQUVFQmRDSUFSUVJBUVg0aEFBd0JDMEdZZ01BQUtRTUFJZ09uSUFCQkFVRUFJQU5DSUlpbktBSUFFUUFBSWdCRkRRRUxJQUZCRUdva0FDQUFEd3NBQ3k0QUlBRUVRRUdZZ01BQUtBSUFJQUJCcXRXcTFYb2dBUnNnQVVFQVFRQkJuSURBQUNnQ0FDZ0NDQkVCQUFzTEN3QWdBQ0FBUVF4cUVBVUxWQUVDZnlBQUtBSUFJZ0lFUUNBQ1FReHJJZ05CQ0dvb0FnQkJEV3hCRDJwQmZIRWlBZ1JBSUFFb0FnQWdBMEVFSUFJYklBSkJBa0VBSUFFb0FnUW9BZ2dSQVFBTElBQkJBRFlDQ0NBQVFRQTJBZ0FMQzdrQ0FnaC9BbjRqQUVFUWF5SUVKQUFnQVNnQ0FDRUZBa0FnQVNnQ0JFVUVRRUdBZ01BQUlRWU1BUXNnQlVFSWF5RUpJQUlnQXhBSElneW5JQVVFZnlBRlFRUnJLQUlBSWdoQkFXc0ZRWDhMSWdweElRRWdERUk1aUtjaEN3TkFRWUNBd0FBaEJpQUJJQVZxTEFBQUlnZEZEUUVnQ0VVTkFRSkFJQWRCQUU0TkFDQUxJQWRCL3dCeFJ3MEFJQUlnQXlBSktBSUFJQUZCQTNScUlnY29BZ0FnQnlnQ0JCQUlRUUZ4UlEwQUlBUkJBVG9BRENBRUlBRTJBZ2dnQkVFSWFpRUdEQUlMSUFoQkFXc2hDQ0FCUVFGcUlBcHhJUUVNQUFzQUN5QUdMUUFFQkg0Z0JDQUZRUXhyS0FJQUlBWW9BZ0JCQW5ScUlnRkJBbW90QUFCQkQzRTZBQUlnQkNBQkx3RUFPd0VBUW9DQWdJQVFJUTBnQkRNQkFDQUVNUUFDUWhDR2hBVkNBQXNoRENBQUlBd2dEWVEzQWdBZ0JFRVFhaVFBQytJS0FndCtBWDhqQUVGQWFpSU5KQUFnQWEwaEF3SitJQUZCSUUwRVFDQUJRUkZKQkVBZ0FVRUlUd1JBSUFOQ0FZWkNzZisrZzgyNHBZL2xBSDBpQWlBQUlBRnFRUWhyS1FBQUlnVWdBQ2tBQUVLeC83NkR6YmlsaitVQWZTSUVRaWVKZkg0aEF5QUNJQUlnQXlBRElBVkNHNGtnQW40Z0JIeUZJQUorSWdSQ0w0aUZJQVNGZmlJRFFpK0lJQU9GZmd3REN5QUJRUVJQQkVBZ0EwSUJoa0t4Lzc2RHpiaWxqK1VBZlNJQ0lBQWdBV3BCQkdzMUFBQWlCQ0FBTlFBQVFnT0dJQU44aFg0aEF5QUNJQU5DTDRnZ0JJVWdBNFVnQW40aUEwSXZpQ0FEaFg0TUF3dEN6NERCL0xMSDJ2Q2FmeUFCUlEwQ0dpQUFJQUZxUVFGckxRQUFRUUowSUFGcXJVS240cXkreVl2eTBrTitJQUF4QUFBZ0FDQUJRUUYyYWpFQUFFSUlob1JDejREQi9MTEgydkNhZjM2RklnSkNMNGdnQW9WQ3o0REIvTExIMnZDYWYzNE1BZ3NnQTBJQmhrS3gvNzZEemJpbGorVUFmU0lDSUFBZ0FXb2lBVUVJYXlrQUFINGlCQ0FBS1FBQVF2UGs0L1Q3emEzSnRIOStJZ1lnQUNrQUNDSUZRckgvdm9QTnVLV1A1UUI5UWk2SmZId2hBeUFDSUFJZ0F5QURJQVJDSW9rZ0JTQUdmRUlWaVh3Z0FVRVFheWtBQUVMUGdNSDhzc2ZhOEpwL2ZueUZJQUorSWdSQ0w0aUZJQVNGZmlJRFFpK0lJQU9GZmd3QkN5QUJRY0VBVHdSQUlBQWdBV29pQVVFb2F5a0FBQ0VISUFGQk9Hc3BBQUFoQkNBQlFSQnJLUUFBSVFnZ0RTQUJRVUJxSUFNZ0FVRXdheWtBQUNBRGZDQUJRUmhyS1FBQUVCMGlBaEFlSUEwcEF3Z2hCU0FOS1FNQUlRWWdEVUVRYWlBQlFTQnJJQVFnQ0h3aUJFS05tNXlMaExMU3Rzc0FmU0FIRUI1Q0FDQURRZ0Y5UWtDRGZTRUtJQUFwQUFBZ0IwTHo1T1AwKzgydHliUi9mbndoQ1NBTktRTVlJUWNnRFNrREVDRUlBMEFnQUNrQU1DRU1JQUFwQUNnaEN5QU5RU0JxSUFBZ0JVTHo1T1AwKzgydHliUi9maUFBS1FBSUlBUWdCbndnQ1h4OFFodUpRdlBrNC9UN3phM0p0SDkrSUFlRklnTWdDSHdRSGlBR0lBdDhJUXNnQkNBRmZDRUVJQTBwQXlnaEJTQU5LUU1nSVFZZ0RVRXdhaUFBUVNCcUlBSWdDSHhDSDRsQzgrVGo5UHZOcmNtMGYzNGlDU0FIZkNBTElBUWdESHhDRm9sQzgrVGo5UHZOcmNtMGYzNThJZ1FnQUNrQUVId1FIaUFBUVVCcklRQWdEU2tET0NFSElBMHBBekFoQ0NBRElRSWdDa0pBZlNJS1FnQlNEUUFMSUFZZ0NCQWRJQVJDTDRnZ0JJVkM4K1RqOVB2TnJjbTBmMzRnQW54OElBVWdCeEFkSUFsOEVCME1BUXNnQTBJQmhrS3gvNzZEemJpbGorVUFmU0lESUFBZ0FXb2lBVUVRYXlrQUFINGhCQ0FBS1FBWVFnbCtJZ1lnQUNrQUVFTFBnTUg4c3NmYThKcC9mbndpQnlBQlFSaHJLUUFBSWdKOElRVWdCaUFCUVNCcktRQUFJZ2dnQVVFSWF5a0FBQ0lKSUFBcEFBQkN6NERCL0xMSDJ2Q2FmMzU4SWdxRmZFSUJmQ0VHSUFkQ0Zva2dBbndpQnlBRklBbDhmQ0FFSUFaOElBWWdBQ2tBQ0NJSlFpS0pJQUo4UWdsK0lBcENGWWw4ZkNBRGZpSUNRamlHSUFKQ2dQNERnMElvaG9RZ0FrS0FnUHdIZzBJWWhpQUNRb0NBZ1BnUGcwSUlob1NFSUFKQ0NJaENnSUNBK0ErRElBSkNHSWhDZ0lEOEI0T0VJQUpDS0loQ2dQNERneUFDUWppSWhJU0VmQ0FEZmlJQ1FqaUdJQUpDZ1A0RGcwSW9ob1FnQWtLQWdQd0hnMElZaGlBQ1FvQ0FnUGdQZzBJSWhvU0VJQUpDQ0loQ2dJQ0ErQStESUFKQ0dJaENnSUQ4QjRPRUlBSkNLSWhDZ1A0RGd5QUNRamlJaElTRWZDQURmaUVDSUFRZ0NId2dCU0FKZkNBQ1FqaUdJQUpDZ1A0RGcwSW9ob1FnQWtLQWdQd0hnMElZaGlBQ1FvQ0FnUGdQZzBJSWhvU0VJQUpDQ0loQ2dJQ0ErQStESUFKQ0dJaENnSUQ4QjRPRUlBSkNLSWhDZ1A0RGd5QUNRamlJaElTRWZDQURmbndpQWlBQ1FpK0loU0FEZmlBSGZBc2dEVUZBYXlRQUM1WUJBUVYvQWtBZ0FTQURSdzBBSUFGQkFuWkJBV29oQlNBQ0lRTWdBQ0VFQTBBZ0JVRUJheUlGQkVBZ0F5Z0FBQ0FFS0FBQUlBTkJCR29oQXlBRVFRUnFJUVJHRFFFTUFnc0xJQUZCQTNFaEF5QUFJQUZCZkhFaUFHb2hCQ0FBSUFKcUlRVURRQ0FEUlNJQUlRZ2dBQTBCSUFOQkFXc2hBeUFGTFFBQUlBUXRBQUFnQkVFQmFpRUVJQVZCQVdvaEJVWU5BQXNMSUFnTG53SUJBMzhDUUNBQUxRQWNJZ0pCRkU4TkFDQUFLQUlZUVlBQ2FrRi9JQUowUVg5elNRMEFJQUFnQWtFQmFpSUNPZ0FjQ3lBQUFuOGdBa0gvQVhGQndBQWdBQzBBSFNJRGF5SUVRZjhCY1UwRVFDQUFLQUlBSUFBb0FnUkJBM1JxUVFocklnUWdCQ2tEQUNBQnJVTC8veitEUVFBZ0FpQURhbXRCUDNHdGhvUTNBd0FnQUMwQUhDQUFMUUFkYWd3QkN5QURRY0FBUndSQUlBQW9BZ0FnQUNnQ0JFRURkR3BCQ0dzaUF5QURLUU1BSUFGQi8vOC9jU0FDSUFScmRxMkVOd01BSUFBdEFCd2hBZ3NnQUNBQUtBSUVJZ05CQVdvMkFnUWdBQ2dDQUNBRFFRTjBhaUFCclVMLy96K0RJQVFnQW10QlAzR3RoamNEQUNBQUxRQWNJQVJyQ3pvQUhTQUFJQUFvQWhSQkFXbzJBaFFnQUNBQUtBSVlRUUZxTmdJWUMrMFJBdzkvQlgwQmZpTUFRYUFHYXlJQ0pBQUNmd0pBQWtBZ0FVVUVRQ0FDUVFrN0FZUUdJQUpDQURjQy9BVWdBa0VBTmdMd0JTQUNRcXJWcXRVS053TG9CU0FDUVppQXdBQXBBd0EzQXZRRklBSkI2QVZxUVFFUUMwSC8vd054RFFFZ0FpZ0M2QVVnQWlnQzdBVWlBRUVEZEdwQ0FEY0RBQ0FDUVRCcUlBSkI4QVZxS1FJQU53TUFJQUpCT0dvZ0FrSDRCV29wQWdBM0F3QWdBa0ZBYXlBQ1FZQUdhaWtDQURjREFDQUNJQUJCQVdvMkF1d0ZJQUlnQWlrQzZBVTNBeWdNQWdzZ0FrSFFBR3BCQURZQ0FDQUNRZ0EzQTBnZ0FrR1lnTUFBS1FNQUloWTNBbFFnQWtIVUFHb2hEQU5BSUFSQmdBUkhCRUFnQWtIY0FHb2dCR3BCQWpzQkFDQUVRUUpxSVFRTUFRc0xJQUlnRmpjQzlBVWdBa0VBTmdMd0JTQUNRcXJWcXRVS053TG9CUUpBSUFKQjZBVnFRUlFDZndKQUFrQWdBYk5EQUFDQVA1SWlFcndpQkVHQWdJQUVTQVJBUXdBQXdIOURBQUNBL3lBRVFmLy8vLzhIY1NJREd5RVJJQVJCQUVnTkFpQURSUTBDSUJKREFBQUFUSlM4SVFSQjZINGhBd3dCQ3lBU0lSRWdCRUgvLy8vN0Iwc05BVUdCZnlFRFF3QUFBQUFoRVNBRVFZQ0FnUHdEUmcwQkN5QUVRWTMycXdKcUlnUkIvLy8vQTNGQjg0blUrUU5xdmtNQUFJQy9raUlSSUJGREFBQUFQNVNVSVJJZ0VTQVJRd0FBQUVDU2xTSVVJQlNVSWhVZ0ZaUWhFeUFSSUJFZ0VwTzhRWUJnY2I0aUVaTWdFcE1nRkNBU0lCVWdFMFB1NlpFK2xFT3FxaW8va3BRZ0V5QVRReWFlZUQ2VVF4UE96RDZTbEpLU2xKSWhFaUFSUXdDd3VEK1VJQkpEQUxDNFA1UWdFaUFSa2tQVW1qaTVsSktTSUFNZ0JFRVhkbXF5a2lFUkN5QVJRd0FBZ0U5ZElCRkRBQUFBQUdCeEJFQWdFYWtNQVF0QkFBc2lBeUFEUVJSUEd5QUJiRUZBYTBFR2RrRUJhaEFNUWYvL0EzRU5BQ0FDS0FMd0JTRURJQUlwQXZRRklSWWdBaWdDNkFVaUJDQUNLQUxzQlNJSlFRTjBha0lBTndNQUlBSkJDVHNCK0FRZ0FrSUFOd0x3QkNBQ0lCWTNBdWdFSUFJZ0F6WUM1QVFnQWlBRU5nTGNCQ0FDUVFBN0Fmd0VJQUpCQURvQS9nUWdBaUFKUVFGcU5nTGdCQ0FCUVFGcUlROGdBRUVCYXlFUVFZQUNJUWxCQWlFRUEwQWdBQ0FLYWlFRkFuOENRQUpBQWtBQ1FDQUNRZHdFYWdKL0EwQWdCQ0FLYWlJTklBRlBEUUlnQWtHQUJXb2dBa0hJQUdvZ0JTQUVFQVlDUUNBQ0xRQ0VCVVVFUUNBRVFRSkhEUUVnQlMwQUFBd0RDeUFDSUFJdEFJSUZPZ0QrQkNBQ0lBSXZBWUFGT3dIOEJDQUVRUUZxSVFRTUFRc0xJQUl2QWZ3RUlBSXRBUDRFUVJCMGNnc1FDU0FDUWR3QWFpQUZMUUFBUVFGMGFpSUdMd0VBSVFNZ0JpQURJQVJCQVd0Qi8vOERjU0lHSUFNZ0Jrc2JPd0VBSUFsQi8vOC9jVUgvL3o5R0JFQWdBaWdDU0NJRFJRMEVJQU1nQTBFRWF5Z0NBQ0lERUI4Z0FrRUFOZ0pNSUFJZ0E2MUMwQUIrUXVRQWdENENVQXdFQ3lBQ1FjZ0FhaUFGSUFRUURTQUNLQUpRRFFJZ0FpZ0NTQ0lHQkg4Z0JrRUVhelVDQUVMUUFINGlGaUFXUXVRQWduMUM1QUI4UXRBQWdLY0ZRUUVMSVFNZ0FrSHdCV29pRGtFQU5nSUFJQUpDQURjRDZBVkJDRUlCUVNBZ0EyZHJyWWFuSWdNZ0EwRUlUUnNpQjBFUGFpRUlBa0FDUUNBSUlBZEJBM1JxSWdzZ0IwRUNkR3BCZkhFaUEwVUVRRUY4SVFNTUFRc2dBaWtDVkNJV3B5QURRUUpCQUNBV1FpQ0lweWdDQUJFQUFDSURSUTBCQ3lBRElBYzJBZ2dnQXlBRElBaEJmSEZxTmdJRUlBTWdBeUFMUVh4eGFqWUNBQ0FDSUFOQkRHb2lBellDNkFVZ0F5QUhFQjhnQWlBSHJVTFFBSDVDNUFDQVBnTHdCU0FDS0FKTUlndEZEUUlnQmdSL0lBWkJCR3NvQWdBRlFRQUxJUU1nQmtFTWF5SUlLQUlBSVFjZ0NFRUVhaWdDQUNFSUEwQWdBMFVOQXlBR0xBQUFRUUJJQkVBZ0FrSG9CV29nQ0NnQ0FDQUlRUVJxS0FJQUlBY3ZBUUFnQjBFQ2FpMEFBRUVRZEhJUURpQUNLQUxzQlNBTFJnMEVDeUFEUVFGcklRTWdCa0VCYWlFR0lBaEJDR29oQ0NBSFFRUnFJUWNNQUFzQUN5QUNRZWdGYWlBTUVBVU1CZ3NnQWtIY0JHb0NmeUFCSUFwQkFXcE5CRUFnQlMwQUFBd0JDeUFDUWJnRmFpQUNRZGdBYWlnQ0FEWUNBQ0FDUWJBRmFpQUNRZEFBYWlrREFEY0RBQ0FDSUFJcEEwZzNBNmdGSUFKQndBVnFJQUpCcUFWcUlBVWdCQkFHSUFKQjNBUnFBbjhDUUNBQ0xRREVCVVVFUUNBRVFRSkhEUUVnQlMwQUFBd0NDeUFDTHdIQUJTQUNMUURDQlVFUWRISU1BZ3NnQWtIWUJXb2dBa0hZQUdvb0FnQTJBZ0FnQWtIUUJXb2dBa0hRQUdvcEF3QTNBd0FnQWlBQ0tRTklOd1BJQlNBQ1FlQUZhaUFDUWNnRmFpQUZJQVJCQVdzUUJpQUNMd0hnQlNBQ0xRRGlCVUVRZEhJTEVBa2dCQ0FGYWtFQmF5MEFBQXNRQ1NBQ1FjZ0FhaEFFSUFKQlFHc2dBa0gwQkdvcEFnQTNBd0FnQWtFNGFpQUNRZXdFYWlrQ0FEY0RBQ0FDUVRCcUlBSkI1QVJxS1FJQU53TUFJQUlnQWlrQzNBUTNBeWdNQndzZ0FrSFFBR29pQXlnQ0FDRUdJQU1nRGlnQ0FEWUNBQ0FPSUFZMkFnQWdBa0VBTmdKTUlBSXBBMGdoRmlBQ0lBSXBBK2dGTndOSUlBSWdGamNENkFVZ0FrSG9CV29nREJBRkN5QUNRY2dBYWlBRklBUWdDUkFPSUFsQkFXb01BUXRCQUNFREEwQWdBMEdBQkVjRVFDQUNRZHdBYWlBRGFrRUNPd0VBSUFOQkFtb2hBd3dCQ3dzZ0FrSGNCR3BCLy84L0VBa2dBa0VBTmdMMEJDQUNRUWs2QVBnRVFZQUNDeUVKSUE4Z0Ntc2dCR3NpQXlBQ1Fkd0FhaUFOSUJCcUlnWXRBQUJCQVhScUx3RUFJZ1FnQXlBRVNSc2hBeUFOUVFGcklRcEJBaUVFQTBBZ0F5QUVheUlGUVFWSkRRRWdBa0dZQldvZ0FrSFlBR29vQWdBMkFnQWdBa0dRQldvZ0FrSFFBR29wQXdBM0F3QWdBaUFDS1FOSU53T0lCU0FDUWFBRmFpQUNRWWdGYWlBR0lBVkJBWFlnQkdvaUJSQUdJQVVnQkNBQ0xRQ2tCU0lIR3lFRUlBTWdCU0FIR3lFRERBQUxBQXNBQ3lBQ1FjZ0FhaEFFQzBGL0RBRUxJQUpCSUdvZ0FrRkFheWtEQURjREFDQUNRUmhxSUFKQk9Hb3BBd0EzQXdBZ0FrRVFhaUFDUVRCcUtRTUFOd01BSUFJZ0Fpa0RLRGNEQ0VGL0lBSkJDR29nQWlnQ0RDSURRUUpxRUF0Qi8vOERjUTBBR2lBQ0tBSUlJZ0FnQWlnQ0RFRURkR29pQ1NBQ05RSWNJQUd0UWlDR2hEY0RBQ0FKUVFocUlBTkJBM1JCQ0dvaUFhMGdBalVDRUVJamhvUTNBd0FnQUNBQmFnc2dBa0dnQm1va0FBc2VBUUYvSUFBb0FnZ2lBaUFCU1FSL0lBQWdBaUFCRUE4UURBVkJBQXNMckFJQ0JuOEJmaU1BUVJCcklnUWtBQUpBSUFBb0FnZ2lBeUFCVHcwQUlBQW9BZ0FoQlFKQUlBTkZEUUFnQkNBQlFmLy8vLzhCU3pvQUNDQUJRWUNBZ0lBQ1R3MEFJQUFvQWd3Z0JTQURRUU4wUVFNZ0FVRURkRUVBSUFCQkVHb29BZ0FvQWdRUkJRQkJBWEZGRFFBZ0FDQUJOZ0lJREFFTElBQXBBZ3doQ0NBRUlBRkIvLy8vL3dGTE9nQU1Ba0FnQVVHQWdJQ0FBazhOQUFKQUlBRkJBM1FpQWtVRVFFRjRJUUlNQVFzZ0NLY2dBa0VEUVFBZ0NFSWdpS2NvQWdBUkFBQWlBa1VOQVFzZ0FpQUFLQUlBSUFBb0FnUkJBM1FRSUNFR1FRQWhBaUFEUVFOMFFRQWdBeHNpQndSQUlBQW9BZ3dnQlVFSUlBTWJJQWRCQTBFQUlBQkJFR29vQWdBb0FnZ1JBUUFMSUFBZ0FUWUNDQ0FBSUFZMkFnQU1BUXRCQVNFQ0N5QUVRUkJxSkFBZ0FndmVBUUlJZndGK0l3QkJFR3NpQkNRQUFrQWdBQ2dDQkVVRVFFR0FnTUFBSVFVTUFRc2dBQ2dDQUNJR1FRaHJJUWdnQVNBQ0VBY2lDNmNnQmdSL0lBWkJCR3NvQWdBaUIwRUJhd1ZCZndzaUNYRWhBQ0FMUWptSXB5RUtBMEJCZ0lEQUFDRUZJQUFnQm1vc0FBQWlBMFVOQVNBSFJRMEJBa0FnQTBFQVRnMEFJQW9nQTBIL0FIRkhEUUFnQVNBQ0lBZ29BZ0FnQUVFRGRHb2lBeWdDQUNBREtBSUVFQWhCQVhGRkRRQWdCRUVCT2dBTUlBUkJDR29oQlF3Q0N5QUhRUUZySVFjZ0FFRUJhaUFKY1NFQURBQUxBQXNnQlMwQUJCb2dCRUVRYWlRQUM4Z0JBZ1IvQVg0Z0FDQUJJQUlRRFVGL0lRVWdBU0FDRUFjaUNLY2dBQ2dDQUNJR0JFQWdCa0VFYXlnQ0FFRUJheUVGQ3lBRmNTRUVBMEFnQkNBR2FpSUhMQUFBUVFCSUJFQWdCRUVCYWlBRmNTRUVEQUVMQ3lBQUlBQW9BZ2hCQVdzMkFnZ2dCeUFJUWptSXAwR0FBWEk2QUFBZ0FDZ0NBRUVJYXlnQ0FDQUVRUU4wYWlJRklBSTJBZ1FnQlNBQk5nSUFJQUFvQWdCQkRHc29BZ0FnQkVFQ2RHb2lBU0FET3dFQUlBRkJBbW9nQTBILy96OXhRUkIyT2dBQUlBQWdBQ2dDQkVFQmFqWUNCQXNsQVFGL0EwQWdBVUYvSUFCQkFYWWdBR3BCQ0dvaUFpQUFJQUpMR3lJQVN3MEFDeUFBQzFzQkJIOGpBRUVRYXlJQkpBQWdBU0FBS1FJTU53TUlJQUFvQWdBaEFpQUFLQUlJSWdCQkEzUkJBQ0FBR3lJREJFQWdBVUVJYWlJRUtBSUFJQUpCQkNBQUd5QURRUUpCQUNBRUtBSUVLQUlJRVFFQUN5QUJRUkJxSkFBTDhRb0NDMzhCZmlNQVFkQUFheUlFSkFBZ0JFRUFOZ0pFSUFSQ3F0V3ExUW8zQWp3Z0JFR1lnTUFBS1FNQUlnODNBa2dDZndKQUFuOUJxdFdxMVhvZ0FrVU5BQm9nQWlFTFFhclZxdFY2SUFSQnlBQnFJZ0ZCcXRXcTFYcEJBQ0FDRUJKQkFYRU5BQm9nQkVFb2FpQUJJQUlRRXlBRUx3RXdEUUVnQkNnQ0xDRUxJQVFvQWlnTElRZEJDU0VJQTBBQ1FBSkFBa0FDUUNBQ0lBbEhCRUFnQ0VIL0FYRWlBVUVVU1EwQkRBUUxJQVFnRHpjRElBSkFJQVJCSUdvZ0J5QUxJQUlRRWtFQmNRUkFJQWNoQ0F3QkN5QUVRVHhxSUFSQklHb2dBaEFUSUFRdkFVUU5CaUFFS0FJOElnZ2dCeUFFS0FKQUlnSkJBblFRSUJvZ0JDQVBOd01vSUFSQktHb2dCeUFMRUJRTElBSkZCRUJCQUNFRlFhclZxdFY2SVFaQkFDRUpEQUlMSUFSQkFEWUNNQ0FFUXFyVnF0VUtOd0lvSUFRZ0R6Y0NOQ0FFUVFCQi8vOC9FQThpQUVILy8vLy9BVXM2QUR3Z0FFR0FnSUNBQWs4TkFnSkFJQUJCQTNRaUFVVUVRRUY4SVFjTUFRc2dENmNnQVVFQ1FRQWdEMElnaUtjb0FnQVJBQUFpQjBVTkF3c2dCQ0FBTmdJd0lBUWdCellDS0VFQUlRRURRQ0FCUWZqLy93TkhCRUFnQVNBSGFrSUFOd0lBSUFGQkNHb2hBUXdCQ3dzZ0JFSC8vejgyQWl3Z0JDQVBOd0pJUVFBaEFTQUVRUUEyQWtRZ0JFS3ExYXJWQ2pjQ1BDQUVRVHhxSUFOQkFuUVFGVUgvL3dOeERRSWdCQ2tDU0NFUElBUW9Ba1FoQ1NBRUtBSThJZ1lnQkNnQ1FDSUFhaUFJTFFBQU9nQUFJQWNnQ0M4QkFDQUlRUUpxTFFBQVFSQjBja0VEZEdvaUEwRUJOZ0lFSUFNZ0JqWUNBQ0FBUVFGcUlRQkJnQUloQTBFQklRb0RRQ0FBSVFVQ2Z3Si9Ba0FDUUNBQ0lBcE5EUUFnQ0NBS1FRSjBhaUlBTHdFQUlBQkJBbW90QUFCQkVIUnlJZ0JCLy84L1JnUkFJQXBCQVdvaUNpQUNUdzBCUVFBaEFRTkFJQUZCK1AvL0EwY0VRQ0FCSUFkcVFnQTNBZ0FnQVVFSWFpRUJEQUVMQ3lBSUlBcEJBblJxSWdBdkFRQWdBRUVDYWkwQUFFRVFkSElpQUVHQUFrOEVRQ0FFUWYvL1B6WUNMQXdKQ3lBRklBWnFJQUE2QUFBZ0JVRUJhaUVBUVlBQ0RBUUxJQUJCZ0FKSkRRRWdCeUFBUVFOMGFpSUFLQUlBSWd0RkJFQWdCU0FHYWlBQklBWnFJZ0FnQlNBQmF5SUxFQ0FhSUFVZ0Myb2lDeUFHYWlBQUxRQUFPZ0FBSUF0QkFXb01Bd3NnQlNBR2FpQUxJQUFvQWdRaUFCQWdHaUFBSUFWcURBSUxJQVJCLy84L05nSXNJQVJCS0dvUUVBd0ZDeUFGSUFacUlBQTZBQUFnQlVFQmFnc2hBQ0FISUFOQi8vOC9jVUVEZEdvaUN5QUZJQUZyUVFGcU5nSUVJQXNnQVNBR2FqWUNBQ0FEUVFGcUN5RURJQXBCQVdvaENpQUZJUUVNQUFzQUN5QUlJQTFCZ0FKcVFYOGdBWFJCZjNOUGFpRUlEQUlMSUFRZ0R6Y0NHQ0FFSUFZMkFnd2dCQ0FGTmdJUUlBUWdDVFlDRkNBRlFRaHFJZ0VnQ1UwRWZ5QUZCVUYvSUFSQkRHb2dDU0FCRUE4UUZVSC8vd054RFFVYUlBUW9BZ3doQmlBRUtBSVVJUWtnQkNnQ0VBc2dCbW9pQUNBRk9nQUFJQUJCQjJvZ0NVRVlkam9BQUNBQVFRWnFJQWxCRUhZNkFBQWdBRUVGYWlBSlFRaDJPZ0FBSUFCQkJHb2dDVG9BQUNBQVFRTnFJQVZCR0hZNkFBQWdBRUVDYWlBRlFSQjJPZ0FBSUFCQkFXb2dCVUVJZGpvQUFDQUZJQVpxREFRTElBUkJLR29RRUF3Q0MwRUFJUW9nQ0NFQkEwQWdBVUgvQVhFaURBUkFJQVZCL3dGeFFjQUFSaUlPSUFacUlRWWdBU0FNUWNBQVFRQWdCU0FPR3lJRmEwSC9BWEVpQVNBQklBeExHeUlNYXlFQklBb2dBQ0FHUVFOMGFpa0RBQ0FGUVQ5eHJZWkJBQ0FNYTBFL2NhMklweUFCZEhJaENpQUZJQXhxSVFVTUFRc0xJQWNnQ1VFQ2RHb2lBU0FLT3dFQUlBRkJBbW9nQ2tILy96OXhJZ0ZCRUhZNkFBQkJBQ0FOUVFGcUlBRkIvLzgvUmlJQkd5RU5RUWtnQ0NBQkd5RUlJQWxCQVdvaENRd0FDd0FMUVg4TElBUkIwQUJxSkFBTGR3RUNmeU1BUVJCcklnUWtBQUpBSUFORkJFQWdCQ0FBS1FJQU53TUFJQVFnQVNBQ0VCUkJBU0VGREFFTElBSkZEUUFnQkNBRFFmLy8vLzhEU3pvQURDQURRWUNBZ0lBRVR3MEFJQUFvQWdBZ0FTQUNRUUowUVFJZ0EwRUNkRUVBSUFBb0FnUW9BZ1FSQlFBaEJRc2dCRUVRYWlRQUlBVUxyQUVDQVg4QmZpTUFRU0JySWdNa0FDQUJLUUlBSVFRZ0F5QUNRZi8vLy84RFN6b0FIQ0FBQW44Q1FDQUNRWUNBZ0lBRVR3MEFBa0FnQWtFQ2RDSUJSUVJBUVh3aEFRd0JDeUFFcHlBQlFRSkJBQ0FFUWlDSXB5Z0NBQkVBQUNJQlJRMEJDeUFESUFJMkFoUWdBeUFCTmdJUUlBTkJBRHNCR0NBRFFSQnFEQUVMSUFOQkFUc0JEQ0FEUVFScUN5SUJLUUlBTndJQUlBQkJDR29nQVVFSWFpZ0NBRFlDQUNBRFFTQnFKQUFMTUFFQmZ5QUNRUUowUVFBZ0Foc2lBd1JBSUFBb0FnQWdBVUVFSUFJYklBTkJBa0VBSUFBb0FnUW9BZ2dSQVFBTEM5UUJBUVYvSXdCQklHc2lBaVFBQWtBZ0FDZ0NDQ0lESUFGUERRQWdBQ2dDQUNFRkFrQUNRQ0FEUlEwQUlBQW9BZ3dnQlNBRFFRQWdBVUVBSUFCQkVHb29BZ0FvQWdRUkJRQkJBWEZGRFFBZ0FDQUJOZ0lJREFFTElBSWdBRUVNYWlJR0tRSUFOd01RSUFKQkdHb2dBa0VRYWlBQkVBRWdBaThCSENJRURRRWdBaWdDR0NBQUtBSUFJQUFvQWdRUUlDRUVJQU1FUUNBR0tBSUFJQVZCcXRXcTFYb2dBeHNnQTBFQVFRQWdCaWdDQkNnQ0NCRUJBQXNnQUNBQk5nSUlJQUFnQkRZQ0FBdEJBQ0VFQ3lBQ1FTQnFKQUFnQkF1NkFnSU5md0YrSXdCQkVHc2lCU1FBSUFBb0FnUWhDQ0FBS0FJQUlRa2dBa0gvQVhFaENnTkFBa0FDUUNBRUlBaEdCRUJCZnlFRERBRUxJQWtnQkVFRWRHb2lBa0VJYWlrREFDSVFRZ0JaQkVBZ0Fpa0RBSHNnRUh0OHB5QUJTUTBDQ3lBRVFRZDBJZ05CZ0FGcUlRc0RRQ0FESUF0UERRSWdBeUFBS1FJQUloQkNHWWluUVlCL2NTSUNJQUlnQTBrYklnd2dBMnNoRFNBUXAwRUlJQkJDSUlpbkd5RU9JQU5CRUhSb0lROUJBQ0VDQWtBRFFDQUNJQTFHQkVBZ0RDRUdEQUlMSUFJZ0Eyb2lCa0VIY1NFSElBNGdCa0VEZG1vdEFBQkJBU0FIZEVIL0FTQUhRUWR6ZG5GeFJRMEJJQUpCQVdvaUFpQUJTUTBBSUFvZ0Qwc05BQXNnQlNBUU53TUlJQVZCQ0dvZ0F5QUJRUUFRRnd3Q0N5QUdRUUZxSVFNTUFBc0FDeUFGUVJCcUpBQWdBdzhMSUFSQkFXb2hCQXdBQ3dBTFVRRUJmeUFEUVFGeElRTURRQ0FDQkVBZ0FVRURkaUFBS0FJQVFRZ2dBQ2dDQkJ0cUlnUWdCQzBBQUVGK0lBRkJCM0VpQkhkeElBTWdCSFJ5T2dBQUlBRkJBV29oQVNBQ1FRRnJJUUlNQVFzTEM1d0JBUUovSXdCQkVHc2lBaVFBSUFCQmdCQkpCRUJCcUlEQUFDQUFRWUFRSUFFZ0FVR0FFRThiSUFCckVCa0xJQUZCZ0JCTEJFQkJwSURBQUNnQ0FFVUVRRUdrZ01BQVFZQWdOZ0lBUWFDQXdBQWdBVUVCYXlJQlFSQjBJZ00yQWdBZ0EwR0FnQVFRSHdzZ0FrR2dnTUFBS1FNQU53TUlJQUpCQ0dwQmdCQWdBQ0FBUVlBUVRSc2lBRUdBRUdzZ0FTQUFheEFaQ3lBQ1FSQnFKQUFMS3dFQmZ5TUFRUkJySWdNa0FDQURJQUFwQWdBM0F3Z2dBMEVJYWlBQklBSkJBUkFYSUFOQkVHb2tBQXVYQVFBQ2YwRUFJQUZCZ1lCOFR3MEFHZ0pBUWFpQXdBQWdBVUgvL3dOcVFSQjJJZ0VnQWhBV0lnQkJmMGNOQUVHZ2dNQUFJQUVnQWhBV0lnQkJmMGNFUUNBQVFZQVFhaUVBREFFTFFRQWdBVDhBSWdGQkVIUWlBMEVCSUFKMElnSnFRUUZyUVFBZ0FtdHhJZ0lnQTJ0QkVIWWlBR3BBQUVFQVRBMEJHaUFBSUFGcUlRQWdBaUFEUmcwQUlBRWdBQkFZQ3lBQVFSQjBDd3RKQUFKQUlBSkIvLzhEYWlJQVFZQ0FmSEVnQkU4aUFrVU5BQ0FFUWYvL0EycEJFSFlpQXlBQVFSQjJJZ0JHRFFBZ0FVSC8vd05xUVJCMklnRWdBMm9nQUNBQmFoQVlDeUFDQ3gwQUlBRkIvLzhEYWtFUWRpSUFJQUFnQWtILy93TnFRUkIyYWhBWUN6NEFJQUFnQVlWQzZkcmcyWTdCK3UrZGYzNGlBRUl2aUNBQmhTQUFoVUxwMnVEWmpzSDY3NTEvZmlJQVFpK0lJQUNGUXVuYTRObU93ZnJ2blg5K0MwSUJBbjRnQUNBQktRQVFJQUVwQUFBZ0Fud2lBaUFCS1FBSWZId2lCQ0FCS1FBWUlnVjhOd01BSUFBZ0JFSVVpU0FDZkNBRklBSWdBM3g4UWl1SmZEY0RDQXNoQUNBQkJFQURRQ0FBUVFBNkFBQWdBRUVCYWlFQUlBRkJBV3NpQVEwQUN3c0xRd0VCZndKQUlBSkZEUUFnQWtFQmF5RUNJQUFoQXdOQUlBTWdBUzBBQURvQUFDQUNSUTBCSUFKQkFXc2hBaUFCUVFGcUlRRWdBMEVCYWlFRERBQUxBQXNnQUFzTEt3SUFRWWlBd0FBTENRRUFBQUFDQUFBQUF3QkJuSURBQUFzUkNBQVFBS3FxcXFvQUFBQUFNQUFRQUJBPSIpO2NvbnN0IGY9YXdhaXQgRygpLEM9Zi5leHBvcnRzO2Z1bmN0aW9uIGsoQSl7Y29uc3R7cHRyOkIsbGVuZ3RoOkl9PUYoQSxDKSxnPUMuY29tcHJlc3MoQixJKTtpZihDLmZyZWUoQixJKSxnPDApdGhyb3cgbmV3IEVycm9yKCJFcnJvciBjb21wcmVzc2luZyBzdHJpbmcuIik7Y29uc3R7c3RhcnQ6USxlbmQ6RSxjYXBhY2l0eTppfT13KEMubWVtb3J5LGcpLG89bmV3IFVpbnQxNkFycmF5KEMubWVtb3J5LmJ1ZmZlci5zbGljZShRLEUpKSxhPW4obyk7cmV0dXJuIEMuZnJlZShRLGkpLGF9ZnVuY3Rpb24gcihBKXtjb25zdCBCPShBLmNoYXJDb2RlQXQoQS5sZW5ndGgtMyk8PDE2KStBLmNoYXJDb2RlQXQoQS5sZW5ndGgtNCksST0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpLGc9QS5sZW5ndGgtNDtsZXQgUT1DLmFsbG9jVWludDE2KGcpLEU9bmV3IFVpbnQxNkFycmF5KEMubWVtb3J5LmJ1ZmZlcixRLGcpO2ZvcihsZXQgRD0wO0Q8ZztEKyspRVtEXT1BLmNoYXJDb2RlQXQoRCk7Y29uc3QgaT1DLmRlY29tcHJlc3MoUSxnLEIsSSk7aWYoQy5mcmVlKFEsMipnKSxpPDApdGhyb3cgbmV3IEVycm9yKCJFcnJvciBkZWNvbXByZXNzaW5nIHN0cmluZy4iKTtjb25zdHtzdGFydDpvLGVuZDphLGNhcGFjaXR5OnR9PXcoQy5tZW1vcnksaSkscz1uZXcgVWludDhBcnJheShDLm1lbW9yeS5idWZmZXIuc2xpY2UobyxhKSkseT1uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocyk7cmV0dXJuIEMuZnJlZShvLHQpLHl9c2VsZi5vbm1lc3NhZ2U9ZnVuY3Rpb24oQSl7Y29uc3R7Y29tbWFuZDpCLGlkOkksZGF0YTpnfT1BLmRhdGE7c3dpdGNoKEIpe2Nhc2UiZGVjb21wcmVzcyI6e3NlbGYucG9zdE1lc3NhZ2Uoe2lkOkksZGF0YTpyKGcpfSk7YnJlYWt9Y2FzZSJjb21wcmVzcyI6e3NlbGYucG9zdE1lc3NhZ2Uoe2lkOkksZGF0YTprKGcpfSk7YnJlYWt9fX19KSgpOw==", V = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(l)], { type: "text/javascript;charset=utf-8" });
2
+ function d(Q) {
3
3
  let U;
4
4
  try {
5
- if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
5
+ if (U = V && (window.URL || window.webkitURL).createObjectURL(V), !U)
6
6
  throw "";
7
7
  const F = new Worker(U, {
8
8
  type: "module",
@@ -13,7 +13,7 @@ function W(Q) {
13
13
  }), F;
14
14
  } catch {
15
15
  return new Worker(
16
- "data:application/javascript;base64," + J,
16
+ "data:application/javascript;base64," + l,
17
17
  {
18
18
  type: "module",
19
19
  name: Q?.name
@@ -21,26 +21,26 @@ function W(Q) {
21
21
  );
22
22
  }
23
23
  }
24
- const R = new W();
25
- let d = 0;
24
+ const R = new d();
25
+ let J = 0;
26
26
  const B = {};
27
27
  R.onmessage = function(Q) {
28
28
  const U = Q.data.id;
29
29
  B[U](Q.data.data), delete B[U];
30
30
  };
31
31
  async function Z(Q) {
32
- const U = d++;
32
+ const U = J++;
33
33
  return new Promise((F) => {
34
34
  B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
35
35
  });
36
36
  }
37
- async function V(Q) {
38
- const U = d++;
37
+ async function S(Q) {
38
+ const U = J++;
39
39
  return new Promise((F) => {
40
40
  B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
41
41
  });
42
42
  }
43
43
  export {
44
44
  Z as compress,
45
- V as decompress
45
+ S as decompress
46
46
  };
@@ -1,28 +1,81 @@
1
- import { i as w, c as k, e as G, U as h } from "./wasm-helper-C1VfMvbY.js";
2
- const F = (I) => w(I, "data:application/wasm;base64,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"), f = await F(), A = f.exports;
3
- function Y(I) {
4
- const { ptr: C, length: Q } = k(I, A), E = A.compress(C, Q);
5
- A.free(C, Q);
6
- const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint16Array(A.memory.buffer.slice(g, i)), a = h(o);
7
- return A.free(g, D), a;
8
- }
9
- function s(I) {
10
- const C = A.allocUint16(I.length), Q = new Uint16Array(
11
- A.memory.buffer,
12
- C,
1
+ function s(A, B) {
2
+ const I = new TextEncoder().encode(A), g = B.allocUint8(I.length);
3
+ return new Uint8Array(
4
+ B.memory.buffer,
5
+ g,
13
6
  I.length
7
+ ).set(I), { ptr: g, length: I.length };
8
+ }
9
+ function n(A) {
10
+ const B = new Array(A.length);
11
+ for (let I = 0; I < A.length; I++)
12
+ B[I] = String.fromCharCode(A[I]);
13
+ return B.join("");
14
+ }
15
+ function a(A, B) {
16
+ const I = new Uint32Array(
17
+ A.buffer.slice(B, B + 8)
18
+ ), g = I.at(0), Q = I.at(1);
19
+ return {
20
+ start: B - g,
21
+ end: B,
22
+ capacity: Q
23
+ };
24
+ }
25
+ const G = async (A = {}, B) => {
26
+ let I;
27
+ if (B.startsWith("data:")) {
28
+ const g = B.replace(/^data:.*?base64,/, "");
29
+ let Q;
30
+ if (typeof Buffer == "function" && typeof Buffer.from == "function")
31
+ Q = Buffer.from(g, "base64");
32
+ else if (typeof atob == "function") {
33
+ const E = atob(g);
34
+ Q = new Uint8Array(E.length);
35
+ for (let i = 0; i < E.length; i++)
36
+ Q[i] = E.charCodeAt(i);
37
+ } else
38
+ throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
39
+ I = await WebAssembly.instantiate(Q, A);
40
+ } else {
41
+ const g = await fetch(B), Q = g.headers.get("Content-Type") || "";
42
+ if ("instantiateStreaming" in WebAssembly && Q.startsWith("application/wasm"))
43
+ I = await WebAssembly.instantiateStreaming(g, A);
44
+ else {
45
+ const E = await g.arrayBuffer();
46
+ I = await WebAssembly.instantiate(E, A);
47
+ }
48
+ }
49
+ return I.instance;
50
+ }, f = (A) => G(A, "data:application/wasm;base64,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"), e = await f(), C = e.exports;
51
+ function k(A) {
52
+ const { ptr: B, length: I } = s(A, C), g = C.compress(B, I);
53
+ if (C.free(B, I), g < 0)
54
+ throw new Error("Error compressing string.");
55
+ const { start: Q, end: E, capacity: i } = a(C.memory, g), o = new Uint16Array(C.memory.buffer.slice(Q, E)), w = n(o);
56
+ return C.free(Q, i), w;
57
+ }
58
+ function h(A) {
59
+ const B = (A.charCodeAt(A.length - 3) << 16) + A.charCodeAt(A.length - 4), I = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2), g = A.length - 4;
60
+ let Q = C.allocUint16(g), E = new Uint16Array(
61
+ C.memory.buffer,
62
+ Q,
63
+ g
14
64
  );
15
- for (let B = 0; B < I.length; B++)
16
- Q[B] = I.charCodeAt(B);
17
- const E = A.decompress(
18
- C,
19
- I.length
65
+ for (let D = 0; D < g; D++)
66
+ E[D] = A.charCodeAt(D);
67
+ const i = C.decompress(
68
+ Q,
69
+ g,
70
+ B,
71
+ I
20
72
  );
21
- A.free(C, 2 * I.length);
22
- const { start: g, end: i, capacity: D } = G(A.memory, E), o = new Uint8Array(A.memory.buffer.slice(g, i)), a = new TextDecoder().decode(o);
23
- return A.free(g, D), a;
73
+ if (C.free(Q, 2 * g), i < 0)
74
+ throw new Error("Error decompressing string.");
75
+ const { start: o, end: w, capacity: t } = a(C.memory, i), y = new Uint8Array(C.memory.buffer.slice(o, w)), F = new TextDecoder().decode(y);
76
+ return C.free(o, t), F;
24
77
  }
25
78
  export {
26
- Y as compress,
27
- s as decompress
79
+ k as compress,
80
+ h as decompress
28
81
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smol-string",
3
- "version": "0.1.1-beta",
3
+ "version": "0.2.0-beta",
4
4
  "description": "Compression for browser localStorage",
5
5
  "author": "Senryoku <maretverdant@gmail.com>",
6
6
  "repository": {
@@ -37,22 +37,15 @@
37
37
  "types": "./dist/smol-string.d.ts",
38
38
  "import": "./dist/smol-string.js"
39
39
  },
40
- "./packed": {
41
- "types": "./dist/smol-string-packed.d.ts",
42
- "import": "./dist/smol-string-packed.js"
43
- },
44
40
  "./worker": {
45
41
  "types": "./dist/smol-string-worker.d.ts",
46
42
  "import": "./dist/smol-string-worker.js"
47
- },
48
- "./worker/packed": {
49
- "types": "./dist/smol-string-worker-packed.d.ts",
50
- "import": "./dist/smol-string-worker-packed.js"
51
43
  }
52
44
  },
53
45
  "devDependencies": {
54
46
  "@vitest/browser": "^0.34.6",
55
- "smol-string": "^0.1.0-beta",
47
+ "binaryen": "^116.0.0",
48
+ "smol-string": "^0.1.1-beta",
56
49
  "typescript": "^5.2.2",
57
50
  "vite": "^5.0.0",
58
51
  "vite-plugin-dts": "^3.6.2",
@@ -1,18 +0,0 @@
1
- import { defineConfig, mergeConfig } from "vitest/config";
2
- import viteConfig from "./vite.config";
3
-
4
- // Config for tests ran only in browsers.
5
- // Currently use to tests that interacts with localStorage.
6
-
7
- export default mergeConfig(
8
- viteConfig,
9
- defineConfig({
10
- test: {
11
- browser: {
12
- enabled: true,
13
- name: "chrome",
14
- },
15
- include: ["test/*.test.ts", "test/*.test.browser.ts"],
16
- },
17
- })
18
- );
@@ -1,2 +0,0 @@
1
- export declare function compressPacked(str: string): string;
2
- export declare function decompressPacked(compressedStr: string): string;
@@ -1,30 +0,0 @@
1
- import { i as G, c as J, e as k, U as h } from "./wasm-helper-C1VfMvbY.js";
2
- const F = (A) => G(A, "data:application/wasm;base64,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aiENDAALCyACQcgBaiAHEIiAgIAADAQLAkACQCAJQQFqIAFJDQAgCi0AACEDDAELIAJBiAFqQRBqIAJBwABqQRBqKAIANgIAIAJBiAFqQQhqIAJBwABqQQhqKQMANwMAIAIgAikDQDcDiAEgAkGgAWogAkGIAWogCiADEImAgIAAAkACQAJAIAItAKQBDQAgA0ECRw0BIAotAAAhAwwCCyACLwGgASACLQCiAUEQdHIhAwwCCyACQagBakEQaiACQcAAakEQaigCADYCACACQagBakEIaiACQcAAakEIaikDADcDACACIAIpA0A3A6gBIAJBwAFqIAJBqAFqIAogA0F/ahCJgICAACACLwHAASACLQDCAUEQdHIhAwsgAkHYAGogAxCMgICAACALIABqQX9qLQAAIQMLIAJB2ABqIAMQjICAgAAgAkHAAGoQh4CAgAAgAkEgakEYaiACQdgAakEYaikDADcDACACQSBqQRBqIAJB2ABqQRBqKQMANwMAIAJBIGpBCGogAkHYAGpBCGopAwA3AwAgAiACKQNYNwMgDAQLIAJBwABqQQhqIgsoAgAhDCALIAYoAgA2AgAgBiAMNgIAIAJBADYCRCACKQNAIQQgAiACKQPIATcDQCACIAQ3A8gBIAJByAFqIAcQiICAgAALIAJBwABqIAogAyAIEJCAgIAAIAhBAWohCAwACwsgAkHAAGoQh4CAgABBACEDDAELIAJBGGogAkEgakEYaikDADcDACACQRBqIAJBIGpBEGopAwA3AwAgAkEIaiACQSBqQQhqKQMANwMAIAIgAikDIDcDAEEAIQMgAiACKAIEIgFBAmoQhoCAgABB//8DcQ0AIAIoAgAiAyACKAIEQQN0aiIJQQhqIAI1AghCA4Y3AwAgCSABQQN0IgFBBHKtQiCGIAI1AhSENwMAIAMgAWpBBGohAwsgAkGQAmokgICAgAAgAwutAgMFfwF+AX8jgICAgABBEGsiAiSAgICAAEEAIQMCQCAAKAIIIgQgAU8NACAAKAIAIQUCQCAERQ0AIAIgAUH/////AUs6AAggAUGAgICAAk8NACAAKAIMIAUgBEEDdEEDIAFBA3RBACAAQRBqKAIAKAIEEYKAgIAAAEEBcUUNACAAIAE2AghBACEDDAELIABBDGoiBikCACEHIAIgAUH/////AUs6AAwCQCAB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"), N = await F(), I = N.exports;
3
- function L(A) {
4
- const { ptr: C, length: g } = J(A, I), D = I.compressPacked(C, g);
5
- I.free(C, g);
6
- const { start: Q, end: B, capacity: i } = k(I.memory, D), w = new Uint16Array(I.memory.buffer.slice(Q, B)), o = h(w);
7
- return I.free(Q, i), o;
8
- }
9
- function f(A) {
10
- const C = (A.charCodeAt(A.length - 1) << 16) + A.charCodeAt(A.length - 2);
11
- let g = I.allocUint16(A.length - 2), D = new Uint16Array(
12
- I.memory.buffer,
13
- g,
14
- A.length - 2
15
- );
16
- for (let E = 0; E < A.length - 2; E++)
17
- D[E] = A.charCodeAt(E);
18
- const Q = I.decompressPacked(
19
- g,
20
- A.length - 2,
21
- C
22
- );
23
- I.free(g, 2 * (A.length - 2));
24
- const { start: B, end: i, capacity: w } = k(I.memory, Q), o = new Uint8Array(I.memory.buffer.slice(B, i)), a = new TextDecoder().decode(o);
25
- return I.free(B, w), a;
26
- }
27
- export {
28
- L as compressPacked,
29
- f as decompressPacked
30
- };
@@ -1,2 +0,0 @@
1
- export declare function compressPacked(data: string): Promise<string>;
2
- export declare function decompressPacked(data: string): Promise<string>;
@@ -1,46 +0,0 @@
1
- const J = "KGFzeW5jKCk9PntmdW5jdGlvbiBrKEEsZyl7Y29uc3QgST1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoQSksQz1nLmFsbG9jVWludDgoSS5sZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheShnLm1lbW9yeS5idWZmZXIsQyxJLmxlbmd0aCkuc2V0KEkpLHtwdHI6QyxsZW5ndGg6SS5sZW5ndGh9fWZ1bmN0aW9uIGgoQSl7Y29uc3QgZz1uZXcgQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgST0wO0k8QS5sZW5ndGg7SSsrKWdbSV09U3RyaW5nLmZyb21DaGFyQ29kZShBW0ldKTtyZXR1cm4gZy5qb2luKCIiKX1mdW5jdGlvbiBhKEEsZyl7Y29uc3QgST1uZXcgVWludDMyQXJyYXkoQS5idWZmZXIuc2xpY2UoZyxnKzgpKSxDPUkuYXQoMCksUT1JLmF0KDEpO3JldHVybntzdGFydDpnLUMsZW5kOmcsY2FwYWNpdHk6UX19dmFyIEc9YXN5bmMoQT17fSxnKT0+e2xldCBJO2lmKGcuc3RhcnRzV2l0aCgiZGF0YToiKSl7Y29uc3QgQz1nLnJlcGxhY2UoL15kYXRhOi4qP2Jhc2U2NCwvLCIiKTtsZXQgUTtpZih0eXBlb2YgQnVmZmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgQnVmZmVyLmZyb209PSJmdW5jdGlvbiIpUT1CdWZmZXIuZnJvbShDLCJiYXNlNjQiKTtlbHNlIGlmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtjb25zdCBFPWF0b2IoQyk7UT1uZXcgVWludDhBcnJheShFLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxFLmxlbmd0aDtpKyspUVtpXT1FLmNoYXJDb2RlQXQoaSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgYmFzZTY0LWVuY29kZWQgZGF0YSBVUkwsIEJ1ZmZlciBhbmQgYXRvYiBhcmUgbm90IHN1cHBvcnRlZCIpO0k9YXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoUSxBKX1lbHNle2NvbnN0IEM9YXdhaXQgZmV0Y2goZyksUT1DLmhlYWRlcnMuZ2V0KCJDb250ZW50LVR5cGUiKXx8IiI7aWYoImluc3RhbnRpYXRlU3RyZWFtaW5nImluIFdlYkFzc2VtYmx5JiZRLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3dhc20iKSlJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEMsQSk7ZWxzZXtjb25zdCBFPWF3YWl0IEMuYXJyYXlCdWZmZXIoKTtJPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEUsQSl9fXJldHVybiBJLmluc3RhbmNlfSxmPUE9PkcoQSwiZGF0YTphcHBsaWNhdGlvbi93YXNtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJXdzVnQkg5L2YzOEJmMkFGZjM5L2YzOEFZQVovZjM5L2YzOEJmMkFCZndGL1lBTi9mMzhBWUFKL2Z3QmdBbjkvQVg5Z0FYOEFZQVIvZjM5L0FHQUNmMzhCZm1BRGYzOS9BWDlnQW41K0FYNWdCSDkvZm40QVlBRjlBWDBESnlZREJBTUZCQU1HQndVSUNRQUZCZ1lLQ0FZSEJBb0FCQVFHQ2dnRkJBQUNBUVFMREEwS0NnUUZBWEFCQkFRRkF3RUFFUVlPQW44QlFZQ0F3QUFMZndCQkFBc0hVQVlHYldWdGIzSjVBZ0FLWVd4c2IyTlZhVzUwT0FBQUMyRnNiRzlqVldsdWRERTJBQUlFWm5KbFpRQUREbU52YlhCeVpYTnpVR0ZqYTJWa0FBMFFaR1ZqYjIxd2NtVnpjMUJoWTJ0bFpBQVVDUWtCQUVFQkN3TWRIaDhLMWtzbVhnRUJmeU9BZ0lDQUFFRVFheUlCSklDQWdJQUFJQUVqZ1lDQWdBQkJtSURBZ0FCcUtRTUFOd01BSUFGQkNHb2dBU0FBRUlHQWdJQUFBa0FnQVM4QkRBMEFJQUVvQWdnaEFDQUJRUkJxSklDQWdJQUFJQUFQQ3dOL0FBd0FDd3R4QWdGL0FYNGpnSUNBZ0FCQkVHc2lBeVNBZ0lDQUFFS0FnSUNBRUNFRUFrQkJBVVVOQUFKQUlBSU5BRUwvLy8vL0R5RUVEQUVMSUFFb0FnQWdBa0VBUVFBZ0FTZ0NCQ2dDQUJHQWdJQ0FBQUFpQWtXdFFpQ0dJQUt0aENFRUN5QUFJQVEzQWdBZ0EwRVFhaVNBZ0lDQUFBdUdBUUlDZndGK0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFRUUJJT2dBTUk0R0FnSUFBSVFJQ1FDQUFRWDlNRFFBQ1FBSkFJQUJCQVhRaUFBMEFRWDRoQUF3QkN5QUNRWmlBd0lBQWFpa0RBQ0lEcHlBQVFRRkJBQ0FEUWlDSXB5Z0NBQkdBZ0lDQUFBQWlBRVVOQVFzZ0FVRVFhaVNBZ0lDQUFDQUFEd3NEZndBTUFBc0xHUUFqZ1lDQWdBQkJtSURBZ0FCcUlBQWdBUkNFZ0lDQUFBczRBUUYvQWtBZ0FrRUFJQUliSWdORkRRQWdBQ2dDQUNBQlFhclZxdFY2SUFJYklBTkJBRUVBSUFBb0FnUW9BZ2dSZ1lDQWdBQUFDd3RCQVFKL0FrQWdBQ0FBS0FJRVFRRnFFSWFBZ0lBQUlnRkIvLzhEY1EwQUlBQWdBQ2dDQkNJQ1FRRnFOZ0lFSUFBb0FnQWdBa0VEZEdwQ0FEY0RBQXNnQVFzdEFRSi9RUUFoQWdKQUlBQW9BZ2dpQXlBQlR3MEFJQUFnQXlBQkVKR0FnSUFBRUk2QWdJQUFJUUlMSUFJTER3QWdBQ0FBUVF4cUVJaUFnSUFBQzJVQkEzOENRQ0FBS0FJQUlnSkZEUUFDUUNBQ1FYUnFJZ05CQ0dvb0FnQkJEV3hCRDJwQmZIRWlBa0VBSUFJYklnUkZEUUFnQVNnQ0FDQURRUVFnQWhzZ0JFRUNRUUFnQVNnQ0JDZ0NDQkdCZ0lDQUFBQUxJQUJCQURZQ0NDQUFRUUEyQWdBTEM0RURCQVIvQVg0RWZ3RitJNENBZ0lBQVFSQnJJZ1FrZ0lDQWdBQWpnWUNBZ0FBaEJTQUJLQUlBSVFZQ1FBSkFJQUVvQWdRTkFDQUZRWUNBd0lBQWFpRUhEQUVMSUFJZ0F4Q0tnSUNBQUNFSUFrQUNRQ0FHRFFCQkFDRUZRWDhoQ1F3QkN5QUdRWHhxS0FJQUlnVkJmMm9oQ1FzZ0JrRjRhaUVLSUFrZ0NLZHhJUUVnQ0VJNWlLY2hDd05BSTRHQWdJQUFRWUNBd0lBQWFpRUhJQVlnQVdvc0FBQWlERVVOQVNBRlJRMEJBa0FnREVGL1NnMEFJQXNnREVIL0FIRkhEUUFnQWlBRElBb29BZ0FnQVVFRGRHb2lEQ2dDQUNBTUtBSUVFSXVBZ0lBQVFRRnhSUTBBSUFSQkFUb0FEQ0FFSUFFMkFnZ2dCRUVJYWlFSERBSUxJQVZCZjJvaEJTQUJRUUZxSUFseElRRU1BQXNMQWtBQ1FDQUhMUUFFRFFCQ0FDRUlRZ0FoRFF3QkN5QUVJQVpCZEdvb0FnQWdCeWdDQUVFQ2RHb2lBVUVDYWkwQUFFRVBjVG9BQWlBRUlBRXZBUUE3QVFBZ0JETUJBQ0FFTVFBQ1FoQ0doQ0VJUW9DQWdJQVFJUTBMSUFBZ0RTQUloRGNDQUNBRVFSQnFKSUNBZ0lBQUM2RUxBZ0YvQzM0amdJQ0FnQUJCd0FCcklnSWtnSUNBZ0FBZ0FhMGhBd0pBQWtBZ0FVRWdTdzBBQWtBZ0FVRVJUdzBBQWtBZ0FVRUlTUTBBSUFBcEFBQkN6NERCL0xMSDJ2Q2FmM3dpQkVJbmlTQUJJQUJxUVhocUtRQUFJZ1Y4SUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUF5QURJQVZDRzRrZ0JuNGdCSHlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3REN3SkFJQUZCQkVrTkFDQUFOUUFBUWdPR0lBTjhJQUVnQUdwQmZHbzFBQUFpQklVZ0EwSUJoa0xQZ01IOHNzZmE4SnAvZkNJR2ZpSUZRaStJSUFTRklBV0ZJQVorSWdSQ0w0Z2dCSVVnQm40aEJnd0RDd0pBSUFFTkFFTFBnTUg4c3NmYThKcC9JUVlNQXdzZ0FTQUFha0YvYWkwQUFFRUNkQ0FCYXExQ3ArS3N2c21MOHRKRGZpQUFJQUZCQVhacU1RQUFRZ2lHSUFBeEFBQ0VRcytBd2Z5eXg5cndtbjkraFNJR1FpK0lJQWFGUXMrQXdmeXl4OXJ3bW45K0lRWU1BZ3NnQUNrQUNDSUVRcytBd2Z5eXg5cndtbjk4UWk2SklBQXBBQUJDOCtUajlQdk5yY20wZjM0aUJYd2dBU0FBYWlJQVFYaHFLUUFBSUFOQ0FZWkN6NERCL0xMSDJ2Q2FmM3dpQm40aUEzd2lCeUFISUFOQ0lva2dCU0FFZkVJVmlYd2dBRUZ3YWlrQUFFTFBnTUg4c3NmYThKcC9mbnlGSUFaK0lnUkNMNGlGSUFTRklBWitJZ1JDTDRnZ0JJVWdCbjRoQmd3QkN3SkFJQUZCd1FCSkRRQWdBU0FBYWlJQlFWaHFLUUFBSVFjZ0FVRklhaWtBQUNFR0lBRkJjR29wQUFBaENDQUNJQUZCUUdvZ0F5QUJRVkJxS1FBQUlBTjhJQUZCYUdvcEFBQVFvWUNBZ0FBaUNSQ2lnSUNBQUNBQ0tRTUlJUVFnQWlrREFDRUZJQUpCRUdvZ0FVRmdhaUFHSUFoOElnWkM4K1RqOVB2TnJjbTBmM3dnQnhDaWdJQ0FBRUlBSUFOQ2YzeENRSU45SVFvZ0FDa0FBQ0FIUXZQazQvVDd6YTNKdEg5K2ZDRUlJQUlwQXhnaEF5QUNLUU1RSVFjRFFDQUFLUUF3SVFzZ0FDa0FLQ0VNSUFKQklHb2dBQ0FFUXZQazQvVDd6YTNKdEg5K0lBWWdCWHdnQ0h3Z0FDa0FDSHhDRzRsQzgrVGo5UHZOcmNtMGYzNGdBNFVpRFNBSGZCQ2lnSUNBQUNBTUlBVjhJUXdnQmlBRWZDRUdJQUlwQXlnaEJDQUNLUU1nSVFVZ0FrRXdhaUFBUVNCcUlBa2dCM3hDSDRsQzgrVGo5UHZOcmNtMGYzNGlDQ0FEZkNBQUtRQVFJQXdnQmlBTGZFSVdpVUx6NU9QMCs4MnR5YlIvZm53aUJud1Fvb0NBZ0FBZ0FFSEFBR29oQUNBQ0tRTTRJUU1nQWlrRE1DRUhJQTBoQ1NBS1FzQUFmQ0lLUWdCU0RRQUxJQVpDTDRnZ0JvVkM4K1RqOVB2TnJjbTBmMzRnRFh3Z0JTQUhFS0dBZ0lBQWZDQUVJQU1Rb1lDQWdBQWdDSHdRb1lDQWdBQWhCZ3dCQ3lBQklBQnFJZ0ZCY0dvcEFBQWdBMElCaGtMUGdNSDhzc2ZhOEpwL2ZDSUVmaUlGSUFGQllHb3BBQUFpQTN3Z0FDa0FHRUlKZmlJSElBQXBBQkJDejREQi9MTEgydkNhZjM1OElnZ2dBVUZvYWlrQUFDSUdmQ0lKSUFBcEFBZ2lDbndnQ1NBQlFYaHFLUUFBSWcxOElBaENGb2tnQm53aUNId2dCeUFOSUFBcEFBQkN6NERCL0xMSDJ2Q2FmMzU4SWdrZ0E0VjhRZ0Y4SWdNZ0JYd2dDVUlWaVNBS1FpS0pJQVo4UWdsK2ZDQURmQ0FFZmlJR1FqaUdJQVpDZ1A0RGcwSW9ob1FnQmtLQWdQd0hnMElZaGlBR1FvQ0FnUGdQZzBJSWhvU0VJQVpDQ0loQ2dJQ0ErQStESUFaQ0dJaENnSUQ4QjRPRUlBWkNLSWhDZ1A0RGd5QUdRamlJaElTRWZDQUVmaUlHUWppR0lBWkNnUDREZzBJb2hvUWdCa0tBZ1B3SGcwSVloaUFHUW9DQWdQZ1BnMElJaG9TRUlBWkNDSWhDZ0lDQStBK0RJQVpDR0loQ2dJRDhCNE9FSUFaQ0tJaENnUDREZ3lBR1FqaUloSVNFZkNBRWZpSUdRamlHSUFaQ2dQNERnMElvaG9RZ0JrS0FnUHdIZzBJWWhpQUdRb0NBZ1BnUGcwSUlob1NFSUFaQ0NJaENnSUNBK0ErRElBWkNHSWhDZ0lEOEI0T0VJQVpDS0loQ2dQNERneUFHUWppSWhJU0VmQ0FFZm53aUJrSXZpQ0FHaFNBRWZpQUlmQ0VHQ3lBQ1FjQUFhaVNBZ0lDQUFDQUdDNndCQVFWL1FRQWhCQUpBSUFFZ0EwY05BQ0FCUVFKMlFRRnFJUVVnQWlFRElBQWhCZ0pBQTBBZ0JVRi9haUlGUlEwQklBTW9BQUFoQnlBR0tBQUFJUWdnQTBFRWFpRURJQVpCQkdvaEJpQUlJQWRHRFFBTUFnc0xJQUZCQTNFaEF5QUFJQUZCZkhFaUJXb2hCaUFDSUFWcUlRVURRQ0FEUlNFRUlBTkZEUUVnQTBGL2FpRURJQVV0QUFBaEJ5QUdMUUFBSVFnZ0JrRUJhaUVHSUFWQkFXb2hCU0FJSUFkR0RRQUxDeUFFQzdFQ0FRTi9Ba0FnQUMwQUhDSUNRUlJQRFFBZ0FDZ0NHRUdBQW1wQmZ5QUNkRUYvYzBrTkFDQUFJQUpCQVdvaUFqb0FIQXNDUUFKQUlBSkIvd0Z4UWNBQUlBQXRBQjBpQTJzaUJFSC9BWEZMRFFBZ0FDZ0NCRUVEZENBQUtBSUFha0Y0YWlJRUlBUXBBd0FnQWExQy8vOC9nMEVBSUFJZ0EycHJRVDl4cllhRU53TUFJQUF0QUJ3Z0FDMEFIV29oQWd3QkN3SkFJQU5CL3dGeFFjQUFSZzBBSUFBb0FnUkJBM1FnQUNnQ0FHcEJlR29pQXlBREtRTUFJQUZCLy84L2NTQUNJQVJyUWY4QmNYYXRoRGNEQUNBQUxRQWNJUUlMSUFBZ0FDZ0NCQ0lEUVFGcU5nSUVJQUFvQWdBZ0EwRURkR29nQWExQy8vOC9neUFFSUFKclFUOXhyWVkzQXdBZ0FDMEFIQ0FFYXlFQ0N5QUFJQUk2QUIwZ0FDQUFLQUlVUVFGcU5nSVVJQUFnQUNnQ0dFRUJhallDR0F2R0R3UUNmd0YrQVgwS2Z5T0FnSUNBQUVHUUFtc2lBaVNBZ0lDQUFBSkFBa0FDUUNBQkRRQWdBa0VKT3dIa0FTQUNRZ0EzQXR3QlFRQWhBeUFDUVFBMkF0QUJJQUpDcXRXcTFRbzNBc2dCSUFJamdZQ0FnQUJCbUlEQWdBQnFLUU1BTndMVUFTQUNRY2dCYWhDRmdJQ0FBRUgvL3dOeERRSWdBa0VnYWtFWWFpQUNRY2dCYWtFWWFpa0NBRGNEQUNBQ1FTQnFRUkJxSUFKQnlBRnFRUkJxS1FJQU53TUFJQUpCSUdwQkNHb2dBa0hJQVdwQkNHb3BBZ0EzQXdBZ0FpQUNLUUxJQVRjRElBd0JDeUFDUWNnQWFrRUFOZ0lBSUFKQ0FEY0RRQ0FDSTRHQWdJQUFRWmlBd0lBQWFpa0RBQ0lFTndKTUlBSWdCRGNDOUFFZ0FrRUFOZ0x3QVNBQ1FxclZxdFVLTndMb0FRSkFBa0FnQWJOREFBQ0FQNUlRbzRDQWdBQWlCVU1BQUlCUFhTQUZRd0FBQUFCZ2NVVU5BQ0FGcVNFRERBRUxRUUFoQXdzQ1FDQUNRZWdCYWlBRFFSUWdBMEVVU1JzZ0FXeEJ3QUJxUVFaMkVJNkFnSUFBUWYvL0EzRU5BQ0FDUWNnQmFrRVFhaUlESUFKQjZBRnFRUkJxS0FJQU5nSUFJQUpCeUFGcVFRaHFJZ1lnQWtIb0FXcEJDR29wQWdBM0F3QWdBaUFDS1FMb0FUY0R5QUVnQWtFSk93SGtBU0FDUWdBM0F0d0JJQUpCeUFGcUVJV0FnSUFBUWYvL0EzRU5BQ0FDUWN3QWFpRUhJQUpCMkFCcVFSaHFJQUpCeUFGcVFSaHFLUU1BTndNQUlBSkIyQUJxUVJCcUlBTXBBd0EzQXdBZ0FrSFlBR3BCQ0dvZ0Jpa0RBRGNEQUNBQ0lBSXBBOGdCTndOWUlBSkJBRHNCZkNBQ1FRQTZBSDVCZ0FJaENFRUFJUWtEUUNBQUlBbHFJUXBCQWlFREFrQUNRQUpBQWtBRFFDQUpJQU5xSWdzZ0FVOE5BaUFDUVlBQmFpQUNRY0FBYWlBS0lBTVFpWUNBZ0FBQ1FBSkFJQUl0QUlRQkRRQWdBMEVDUncwQklBb3RBQUFoQ1F3REN5QUNJQUl0QUlJQk9nQitJQUlnQWk4QmdBRTdBWHdnQTBFQmFpRUREQUVMQ3lBQ0x3RjhJQUl0QUg1QkVIUnlJUWtMSUFKQjJBQnFJQWtRaklDQWdBQWdDMEYvYWlFSkFrQWdDRUgvL3o5eFFmLy9QMGNOQUFKQUlBSW9Ba0FpQTBVTkFDQURRUUFnQTBGOGFpZ0NBQ0lLRUtTQWdJQUFHaUFDUVFBMkFrUWdBaUFLclVMUUFINUM1QUNBUGdKSUN5QUNRZGdBYWtILy96OFFqSUNBZ0FBZ0FrRUFOZ0p3SUFKQkNUb0FkRUdBQWlFSURBUUxJQUpCd0FCcUlBb2dBeENQZ0lDQUFCb2dBaWdDU0EwQ0FrQUNRQ0FDS0FKQUlnc05BRUVCSVF3TUFRc2dDMEY4YWlnQ0FLMUMwQUIrSWdRZ0JFTGtBSUo5UXVRQWZFTFFBSUNuSVF3TElBWkJBRFlDQUNBQ1FnQTNBOGdCQWtCQkFBMEFBa0FDUUVJQlFTQWdER2RyclVMLy93T0RocWNpREVFSUlBeEJDRXNiSWcxQkQyb2lEaUFOUVFOMGFpSVBJQTFCQW5ScVFYeHhJZ3dOQUVGOElRd01BUXNnQWlrQ1RDSUVweUFNUVFKQkFDQUVRaUNJcHlnQ0FCR0FnSUNBQUFBaURFVU5BUXNnRENBTk5nSUlJQXdnRENBT1FYeHhhallDQkNBTUlBd2dEMEY4Y1dvMkFnQWdBaUFNUVF4cUlndzJBc2dCSUF4QkFDQU5FS1NBZ0lBQUdpQUNJQTJ0UXRBQWZrTGtBSUErQXRBQklBSW9Ba1FpRDBVTkFnSkFBa0FnQ3cwQVFRQWhEQXdCQ3lBTFFYeHFLQUlBSVF3TElBdEJkR29pRGlnQ0FDRU5JQTVCQkdvb0FnQWhEZ05BSUF4RkRRTUNRQ0FMTEFBQVFRQk9EUUFnQWtISUFXb2dEaWdDQUNBT1FRUnFLQUlBSUEwdkFRQWdEVUVDYWkwQUFFRVFkSElRa0lDQWdBQWdBaWdDekFFZ0QwWU5CQXNnREVGL2FpRU1JQXRCQVdvaEN5QU9RUWhxSVE0Z0RVRUVhaUVOREFBTEN5QUNRY2dCYWlBSEVJaUFnSUFBREFRTEFrQUNRQ0FKUVFGcUlBRkpEUUFnQ2kwQUFDRUREQUVMSUFKQmlBRnFRUkJxSUFKQndBQnFRUkJxS0FJQU5nSUFJQUpCaUFGcVFRaHFJQUpCd0FCcVFRaHFLUU1BTndNQUlBSWdBaWtEUURjRGlBRWdBa0dnQVdvZ0FrR0lBV29nQ2lBREVJbUFnSUFBQWtBQ1FBSkFJQUl0QUtRQkRRQWdBMEVDUncwQklBb3RBQUFoQXd3Q0N5QUNMd0dnQVNBQ0xRQ2lBVUVRZEhJaEF3d0NDeUFDUWFnQmFrRVFhaUFDUWNBQWFrRVFhaWdDQURZQ0FDQUNRYWdCYWtFSWFpQUNRY0FBYWtFSWFpa0RBRGNEQUNBQ0lBSXBBMEEzQTZnQklBSkJ3QUZxSUFKQnFBRnFJQW9nQTBGL2FoQ0pnSUNBQUNBQ0x3SEFBU0FDTFFEQ0FVRVFkSEloQXdzZ0FrSFlBR29nQXhDTWdJQ0FBQ0FMSUFCcVFYOXFMUUFBSVFNTElBSkIyQUJxSUFNUWpJQ0FnQUFnQWtIQUFHb1FoNENBZ0FBZ0FrRWdha0VZYWlBQ1FkZ0Fha0VZYWlrREFEY0RBQ0FDUVNCcVFSQnFJQUpCMkFCcVFSQnFLUU1BTndNQUlBSkJJR3BCQ0dvZ0FrSFlBR3BCQ0dvcEF3QTNBd0FnQWlBQ0tRTllOd01nREFRTElBSkJ3QUJxUVFocUlnc29BZ0FoRENBTElBWW9BZ0EyQWdBZ0JpQU1OZ0lBSUFKQkFEWUNSQ0FDS1FOQUlRUWdBaUFDS1FQSUFUY0RRQ0FDSUFRM0E4Z0JJQUpCeUFGcUlBY1FpSUNBZ0FBTElBSkJ3QUJxSUFvZ0F5QUlFSkNBZ0lBQUlBaEJBV29oQ0F3QUN3c2dBa0hBQUdvUWg0Q0FnQUJCQUNFRERBRUxJQUpCR0dvZ0FrRWdha0VZYWlrREFEY0RBQ0FDUVJCcUlBSkJJR3BCRUdvcEF3QTNBd0FnQWtFSWFpQUNRU0JxUVFocUtRTUFOd01BSUFJZ0Fpa0RJRGNEQUVFQUlRTWdBaUFDS0FJRUlnRkJBbW9RaG9DQWdBQkIvLzhEY1EwQUlBSW9BZ0FpQXlBQ0tBSUVRUU4wYWlJSlFRaHFJQUkxQWdoQ0E0WTNBd0FnQ1NBQlFRTjBJZ0ZCQkhLdFFpQ0dJQUkxQWhTRU53TUFJQU1nQVdwQkJHb2hBd3NnQWtHUUFtb2tnSUNBZ0FBZ0F3dXRBZ01GZndGK0FYOGpnSUNBZ0FCQkVHc2lBaVNBZ0lDQUFFRUFJUU1DUUNBQUtBSUlJZ1FnQVU4TkFDQUFLQUlBSVFVQ1FDQUVSUTBBSUFJZ0FVSC8vLy8vQVVzNkFBZ2dBVUdBZ0lDQUFrOE5BQ0FBS0FJTUlBVWdCRUVEZEVFRElBRkJBM1JCQUNBQVFSQnFLQUlBS0FJRUVZS0FnSUFBQUVFQmNVVU5BQ0FBSUFFMkFnaEJBQ0VEREFFTElBQkJER29pQmlrQ0FDRUhJQUlnQVVILy8vLy9BVXM2QUF3Q1FDQUJRWUNBZ0lBQ1R3MEFBa0FDUUNBQlFRTjBJZ2dOQUVGNElRZ01BUXNnQjZjZ0NFRURRUUFnQjBJZ2lLY29BZ0FSZ0lDQWdBQUFJZ2hGRFFFTElBZ2dBQ2dDQUNBQUtBSUVRUU4wRUtXQWdJQUFJUWdnQmlBRklBUVFvSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0NEWUNBQXdCQzBFQklRTUxJQUpCRUdva2dJQ0FnQUFnQXd1Z0FnTUVmd0YrQkg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNPQmdJQ0FBQ0VFQWtBQ1FDQUFLQUlFRFFBZ0JFR0FnTUNBQUdvaEJRd0JDeUFBS0FJQUlRWWdBU0FDRUlxQWdJQUFJUWNDUUFKQUlBWU5BRUVBSVFSQmZ5RUlEQUVMSUFaQmZHb29BZ0FpQkVGL2FpRUlDeUFHUVhocUlRa2dDQ0FIcDNFaEFDQUhRam1JcHlFS0EwQWpnWUNBZ0FCQmdJREFnQUJxSVFVZ0JpQUFhaXdBQUNJTFJRMEJJQVJGRFFFQ1FDQUxRWDlLRFFBZ0NpQUxRZjhBY1VjTkFDQUJJQUlnQ1NnQ0FDQUFRUU4wYWlJTEtBSUFJQXNvQWdRUWk0Q0FnQUJCQVhGRkRRQWdBMEVCT2dBTUlBTkJDR29oQlF3Q0N5QUVRWDlxSVFRZ0FFRUJhaUFJY1NFQURBQUxDeUFGTFFBRUlRQWdBMEVRYWlTQWdJQ0FBQ0FBUVFCSEM5Z0JBZ0YrQkg4Z0FDQUJJQUlRajRDQWdBQWFJQUVnQWhDS2dJQ0FBQ0VFUVg4aEJRSkFJQUFvQWdBaUJrVU5BQ0FHUVh4cUtBSUFRWDlxSVFVTElBVWdCS2R4SVFjQ1FBTkFJQVlnQjJvaUNDd0FBRUYvU2cwQklBZEJBV29nQlhFaEJ3d0FDd3NnQUNBQUtBSUlRWDlxTmdJSUlBZ2dCRUk1aUtkQmdBRnlPZ0FBSUFBb0FnQkJlR29vQWdBZ0IwRURkR29pQmlBQ05nSUVJQVlnQVRZQ0FDQUFLQUlBUVhScUtBSUFJQWRCQW5ScUlnY2dBenNCQUNBSFFRSnFJQU5CLy84L2NVRVFkam9BQUNBQUlBQW9BZ1JCQVdvMkFnUUxKUUVCZndOQVFYOGdBRUVCZGlBQWFrRUlhaUlDSUFJZ0FFa2JJZ0FnQVVrTkFBc2dBQXMvQVFGL0k0Q0FnSUFBUVJCcklnRWtnSUNBZ0FBZ0FTQUFLUUlNTndNSUlBRkJDR29nQUNnQ0FDQUFLQUlJRUpPQWdJQUFJQUZCRUdva2dJQ0FnQUFMTndFQmZ3SkFJQUpCQTNSQkFDQUNHeUlEUlEwQUlBQW9BZ0FnQVVFRUlBSWJJQU5CQWtFQUlBQW9BZ1FvQWdnUmdZQ0FnQUFBQ3d1RERBTUJmd0YrQzM4amdJQ0FnQUJCMEFCcklnTWtnSUNBZ0FBZ0EwRUFOZ0pFSUFOQ3F0V3ExUW8zQWp3Z0F5T0JnSUNBQUVHWWdNQ0FBR29wQXdBaUJEY0NTQUpBQWtBQ1FBSkFJQUlOQUVHcTFhclZlaUVGUVFBaEJnd0JDMEdxMWFyVmVpRUZJQUloQmlBRFFjZ0FhaUlIUWFyVnF0VjZRUUFnQWhDVmdJQ0FBRUVCY1EwQUlBTkJLR29nQnlBQ0VKYUFnSUFBSUFNdkFUQU5BU0FES0FJc0lRWWdBeWdDS0NFRkMwRUpJUWhCQUNFSlFRQWhDa0VBSVF0QkFDRU1BMEFDUUFKQUFrQUNRQUpBSUF3Z0FrWU5BQ0FJUWY4QmNTSUhRUlJKRFFFTUJBc2dBeUFFTndNZ0FrQUNRQ0FEUVNCcUlBVWdCaUFDRUpXQWdJQUFRUUZ4UlEwQUlBVWhDQXdCQ3lBRFFUeHFJQU5CSUdvZ0FoQ1dnSUNBQUNBREx3RkVEUVlnQXlnQ1BDSUlJQVVnQXlnQ1FDSUNRUUowRUtXQWdJQUFHaUFESUFRM0F5Z2dBMEVvYWlBRklBWVFsNENBZ0FBTEFrQWdBZzBBUVFBaENVR3ExYXJWZWlFS1FRQWhEQXdDQ3lBRFFRQTJBakFnQTBLcTFhclZDamNDS0NBRElBUTNBalFnQTBFQVFmLy9QeENSZ0lDQUFDSUhRZi8vLy84QlN6b0FQQ0FIUVlDQWdJQUNUdzBDQWtBQ1FDQUhRUU4wSWcwTkFFRjhJUTBNQVFzZ0JLY2dEVUVDUVFBZ0JFSWdpS2NvQWdBUmdJQ0FnQUFBSWcxRkRRTUxJQU1nQnpZQ01DQURJQTAyQWloQkFDRUhBa0FEUUNBSFFmai8vd05HRFFFZ0RTQUhha0lBTndJQUlBZEJDR29oQnd3QUN3c2dBMEgvL3o4MkFpd2dBeUFFTndKSVFRQWhCeUFEUVFBMkFrUWdBMEtxMWFyVkNqY0NQQ0FEUVR4cUlBSkJHR3dRbUlDQWdBQkIvLzhEY1EwQ0lBTXBBa2doQkNBREtBSkVJUXdnQXlnQ1BDSUtJQU1vQWtBaUNXb2dDQzBBQURvQUFDQU5JQWd2QVFBZ0NFRUNhaTBBQUVFUWRISkJBM1JxSWc1QkFUWUNCQ0FPSUFvMkFnQWdDVUVCYWlFQVFZQUNJUTlCQVNFT0EwQWdBQ0VKQWtBQ1FBSkFBa0FnRGlBQ1R3MEFBa0FnQ0NBT1FRSjBhaUlBTHdFQUlBQkJBbW90QUFCQkVIUnlJZ0JCLy84L1J3MEFJQTVCQVdvaURpQUNUdzBCUVFBaEJ3SkFBMEFnQjBINC8vOERSZzBCSUEwZ0IycENBRGNDQUNBSFFRaHFJUWNNQUFzTEFrQWdDQ0FPUVFKMGFpSUhMd0VBSUFkQkFtb3RBQUJCRUhSeUlnZEJnQUpKRFFBZ0EwSC8vejgyQWl3TUNRc2dDaUFKYWlBSE9nQUFJQWxCQVdvaEFFR0FBaUVQREFRTElBQkJnQUpKRFFFQ1FDQU5JQUJCQTNScUlnQW9BZ0FpQ3cwQUlBb2dDV29nQ2lBSGFpSUFJQWtnQjJzaUN4Q2xnSUNBQUJvZ0NpQUxJQWxxSWd0cUlBQXRBQUE2QUFBZ0MwRUJhaUVBREFNTElBb2dDV29nQ3lBQUtBSUVJZ0FRcFlDQWdBQWFJQUFnQ1dvaEFBd0NDeUFEUWYvL1B6WUNMQ0FEUVNocUVKS0FnSUFBREFVTElBb2dDV29nQURvQUFDQUpRUUZxSVFBTElBMGdEMEgvL3o5eFFRTjBhaUlMSUFrZ0IydEJBV28yQWdRZ0N5QUtJQWRxTmdJQUlBOUJBV29oRHdzZ0RrRUJhaUVPSUFraEJ3d0FDd3NnQ0NBTFFZQUNha0YvSUFkMFFYOXpUMm9oQ0F3Q0N5QURJQVEzQWhnZ0F5QUtOZ0lNSUFNZ0NUWUNFQ0FESUF3MkFoUUNRQUpBSUF3Z0NVRUlhaUlOU1EwQUlBa2hCd3dCQzBFQUlRY2dBMEVNYWlBTUlBMFFrWUNBZ0FBUW1JQ0FnQUJCLy84RGNRMEZJQU1vQWd3aENpQURLQUlVSVF3Z0F5Z0NFQ0VIQ3lBS0lBZHFJZ2NnQ1RvQUFDQUhRUWRxSUF4QkdIWTZBQUFnQjBFR2FpQU1RUkIyT2dBQUlBZEJCV29nREVFSWRqb0FBQ0FIUVFScUlBdzZBQUFnQjBFRGFpQUpRUmgyT2dBQUlBZEJBbW9nQ1VFUWRqb0FBQ0FIUVFGcUlBbEJDSFk2QUFBZ0NpQUphaUVIREFRTElBTkJLR29Ra29DQWdBQU1BZ3RCQUNFT0lBZ2hCd0pBQTBBZ0IwSC9BWEVpRFVVTkFTQUFJQW9nQ1VIL0FYRkJ3QUJHSWc5cUlncEJBM1JxS1FNQVFRQWdDU0FQR3lJSlFUOXhyWVpCQUNBTlFjQUFJQWxyUWY4QmNTSVBJQTBnRDBrYklnMXJRVDl4cllpbklBY2dEV3NpQjNRZ0RuSWhEaUFOSUFscUlRa01BQXNMSUFVZ0RFRUNkR29pQnlBT093RUFJQWRCQW1vZ0RrSC8vejl4SWdkQkVIWTZBQUJCQUNBTFFRRnFJQWRCLy84L1JpSUhHeUVMUVFrZ0NDQUhHeUVJSUF4QkFXb2hEQXdBQ3d0QkFDRUhDeUFEUWRBQWFpU0FnSUNBQUNBSEM1QUJBUUovSTRDQWdJQUFRUkJySWdRa2dJQ0FnQUFDUUFKQUlBTU5BQ0FFSUFBcEFnQTNBd0FnQkNBQklBSVFsNENBZ0FCQkFTRUZEQUVMUVFBaEJTQUNSUTBBSUFRZ0EwSC8vLy8vQTBzNkFBd2dBMEdBZ0lDQUJFOE5BQ0FBS0FJQUlBRWdBa0VDZEVFQ0lBTkJBblJCQUNBQUtBSUVLQUlFRVlLQWdJQUFBQ0VGQ3lBRVFSQnFKSUNBZ0lBQUlBVUx3UUVDQVg4QmZpT0FnSUNBQUVFZ2F5SURKSUNBZ0lBQUlBRXBBZ0FoQkNBRElBSkIvLy8vL3dOTE9nQWNBa0FDUUNBQ1FZQ0FnSUFFVHcwQUFrQUNRQ0FDUVFKMElnRU5BRUY4SVFFTUFRc2dCS2NnQVVFQ1FRQWdCRUlnaUtjb0FnQVJnSUNBZ0FBQUlnRkZEUUVMSUFNZ0FqWUNGQ0FESUFFMkFoQWdBMEVBT3dFWUlBTkJFR29oQWd3QkN5QURRUUU3QVF3Z0EwRUVhaUVDQ3lBQUlBSXBBZ0EzQWdBZ0FFRUlhaUFDUVFocUtBSUFOZ0lBSUFOQklHb2tnSUNBZ0FBTE53RUJmd0pBSUFKQkFuUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUVJQUliSUFOQkFrRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3dmFBUUVGZnlPQWdJQ0FBRUVnYXlJQ0pJQ0FnSUFBUVFBaEF3SkFJQUFvQWdnaUJDQUJUdzBBSUFBb0FnQWhCUUpBQWtBZ0JFVU5BRUVBRFFBZ0FDZ0NEQ0FGSUFSQkFDQUJRUUFnQUVFUWFpZ0NBQ2dDQkJHQ2dJQ0FBQUJCQVhGRkRRQWdBQ0FCTmdJSURBRUxJQUlnQUVFTWFpSUdLUUlBTndNUUlBSkJHR29nQWtFUWFpQUJFSUdBZ0lBQUlBSXZBUndpQXcwQklBSW9BaGdnQUNnQ0FDQUFLQUlFRUtXQWdJQUFJUU1nQmlBRklBUVFoSUNBZ0FBZ0FDQUJOZ0lJSUFBZ0F6WUNBQXRCQUNFREN5QUNRU0JxSklDQWdJQUFJQU1MMGdJREJuOEJmZ2QvSTRDQWdJQUFRUkJySWdNa2dJQ0FnQUFnQUNnQ0JDRUVJQUFvQWdBaEJVRUFJUVlnQWtIL0FYRWhCd04vQWtBQ1FBSkFJQVlnQkVjTkFFRi9JUWdNQVFzQ1FDQUZJQVpCQkhScUlnSkJDR29wQXdBaUNVSUFVdzBBSUFJcEF3QjdJQWw3ZktjZ0FVa05BZ3NnQmtFSGRDSUlRWUFCYWlFS0EwQWdDQ0FLVHcwQ0lBZ2dBQ2tDQUNJSlFobUlwMEdBZjNFaUFpQUlJQUpMR3lJTElBaHJJUXdnQ2FkQkNDQUpRaUNJcHhzaERTQUlRUkIwYUNFT1FRQWhBZ0pBQTBBQ1FDQU1JQUpIRFFBZ0N5RVBEQUlMUWY4QklBZ2dBbW9pRDBFSGNTSVFRUWR6ZGtFQklCQjBjU0FOSUE5QkEzWnFMUUFBY1VVTkFTQUNRUUZxSWdJZ0FVa05BQ0FPSUFkSkRRQUxJQU1nQ1RjRENDQURRUWhxSUFnZ0FVRUFFSnFBZ0lBQURBSUxJQTlCQVdvaENBd0FDd3NnQTBFUWFpU0FnSUNBQUNBSUR3c2dCa0VCYWlFR0RBQUxDMVFCQVg4Z0EwRUJjU0VFQWtBRFFDQUNSUTBCSUFBb0FnQkJDQ0FBS0FJRUd5QUJRUU4yYWlJRElBTXRBQUJCZmlBQlFRZHhJZ04zY1NBRUlBTjBjam9BQUNBQlFRRnFJUUVnQWtGL2FpRUNEQUFMQ3d2YkFRRURmeU9BZ0lDQUFFRVFheUlDSklDQWdJQUFBa0FnQUVHQUVFOE5BQ09CZ0lDQUFFR29nTUNBQUdvZ0FDQUJRWUFRSUFGQmdCQkpHeUFBYXhDY2dJQ0FBQXNDUUNBQlFZQVFUUTBBQWtBamdZQ0FnQUJCb0lEQWdBQnFLQUlFRFFBamdZQ0FnQUJCb0lEQWdBQnFJZ05CZ0NBMkFnUWdBeUFCUVg5cUlnRkJFSFFpQkRZQ0FDQUVRUUJCZ0lBRUVLU0FnSUFBR2dzZ0FpT0JnSUNBQUVHZ2dNQ0FBR29wQXdBM0F3Z2dBa0VJYWlBQVFZQVFJQUJCZ0JCTEd5SUFRWUJ3YWlBQklBQnJFSnlBZ0lBQUN5QUNRUkJxSklDQWdJQUFDenNCQVg4amdJQ0FnQUJCRUdzaUF5U0FnSUNBQUNBRElBQXBBZ0EzQXdnZ0EwRUlhaUFCSUFKQkFSQ2FnSUNBQUNBRFFSQnFKSUNBZ0lBQUM3MEJBUVIvUVFBaEJBSkFJQUZCZ1lCOFR3MEFBa0FqZ1lDQWdBQkJxSURBZ0FCcUlBRkIvLzhEYWtFUWRpSUJJQUlRbVlDQWdBQWlCRUYvUncwQUFrQWpnWUNBZ0FCQm9JREFnQUJxSUFFZ0FoQ1pnSUNBQUNJRVFYOUdEUUFnQkVHQUVHb2hCQXdCQzBFQUlRUkJBU0FDZENJRlB3QWlCa0VRZENJQ2FrRi9ha0VBSUFWcmNTSUZJQUpyUVJCMklnY2dBV3BBQUVFQlNBMEJJQWNnQm1vaEJDQUZJQUpHRFFBZ0JpQUVFSnVBZ0lBQUN5QUVRUkIwSVFRTElBUUxUd0VCZndKQUlBSkIvLzhEYWlJR1FZQ0FmSEVnQkU4aUFrVU5BQ0FFUWYvL0EycEJFSFlpQkNBR1FSQjJJZ1pHRFFBZ0JDQUJRZi8vQTJwQkVIWWlBV29nQVNBR2FoQ2JnSUNBQUFzZ0Fnc2hBQ0FCUWYvL0EycEJFSFlpQVNBQklBSkIvLzhEYWtFUWRtb1FtNENBZ0FBTE53RUJmd0pBSUFKQkEzUkJBQ0FDR3lJRFJRMEFJQUFvQWdBZ0FVRUlJQUliSUFOQkEwRUFJQUFvQWdRb0FnZ1JnWUNBZ0FBQUN3cytBQ0FCSUFDRlF1bmE0Tm1Pd2Zydm5YOStJZ0JDTDRnZ0FZVWdBSVZDNmRyZzJZN0IrdStkZjM0aUFVSXZpQ0FCaFVMcDJ1RFpqc0g2NzUxL2ZndENBUUorSUFBZ0FTa0FBQ0FDZkNJQ0lBRXBBQWg4SUFFcEFCQjhJZ1FnQVNrQUdDSUZmRGNEQUNBQUlBUkNGSWtnQW53Z0JTQUNJQU44ZkVJcmlYdzNBd2dMbmdJQ0FuOENmUUpBQWtBQ1FDQUF2Q0lCUVlDQWdBUk9EUUJEQUFEQWYwTUFBSUQvSUFGQi8vLy8vd2R4SWdJYklRTWdBVUVBU0EwQ0lBSkZEUUlnQUVNQUFBQk1sTHdoQVVIb2ZpRUNEQUVMSUFBaEF5QUJRZi8vLy9zSFN3MEJRWUYvSVFKREFBQUFBQ0VESUFGQmdJQ0EvQU5HRFFFTElBRkJqZmFyQW1vaUFVSC8vLzhEY1VIemlkVDVBMnErUXdBQWdMK1NJZ0FnQUNBQVF3QUFBRCtVbENJRGs3eEJnR0J4dmlJRVF3Q3d1RCtVSUFBZ0JKTWdBNU1nQUNBQVF3QUFBRUNTbFNJQUlBTWdBQ0FBbENJQUlBQWdBSlFpQUVQdTZaRStsRU9xcWlvL2twUWdBQ0FBUXlhZWVENlVReFBPekQ2U2xKS1NsSklpQUVNQXNMZy9sQ0FBSUFTU1E5U2FPTG1Va3BJZ0FpQUJRUmQyYXJLU0lRTUxJQU1MTEFFQmZ3SkFJQUpGRFFBZ0FDRURBMEFnQXlBQk9nQUFJQU5CQVdvaEF5QUNRWDlxSWdJTkFBc0xJQUFMUWdFQmZ3SkFJQUpGRFFBZ0FrRi9haUVDSUFBaEF3TkFJQU1nQVMwQUFEb0FBQ0FDUlEwQklBSkJmMm9oQWlBQlFRRnFJUUVnQTBFQmFpRUREQUFMQ3lBQUN3dEJBZ0JCZ0lEQUFBc0lBQUFBQUFBQUFBQUFRWWlBd0FBTEtBRUFBQUFDQUFBQUF3QUFBQUFBQUFBQUFBQUFDQUFRQUtxcXFxb0FBQUFBTUFBUUFCQUFBQUE9Iik7Y29uc3QgSj1hd2FpdCBmKCksQj1KLmV4cG9ydHM7ZnVuY3Rpb24gcyhBKXtjb25zdHtwdHI6ZyxsZW5ndGg6SX09ayhBLEIpLEM9Qi5jb21wcmVzc1BhY2tlZChnLEkpO0IuZnJlZShnLEkpO2NvbnN0e3N0YXJ0OlEsZW5kOkUsY2FwYWNpdHk6aX09YShCLm1lbW9yeSxDKSxvPW5ldyBVaW50MTZBcnJheShCLm1lbW9yeS5idWZmZXIuc2xpY2UoUSxFKSksdz1oKG8pO3JldHVybiBCLmZyZWUoUSxpKSx3fWZ1bmN0aW9uIGUoQSl7Y29uc3QgZz0oQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTEpPDwxNikrQS5jaGFyQ29kZUF0KEEubGVuZ3RoLTIpO2xldCBJPUIuYWxsb2NVaW50MTYoQS5sZW5ndGgtMiksQz1uZXcgVWludDE2QXJyYXkoQi5tZW1vcnkuYnVmZmVyLEksQS5sZW5ndGgtMik7Zm9yKGxldCBEPTA7RDxBLmxlbmd0aC0yO0QrKylDW0RdPUEuY2hhckNvZGVBdChEKTtjb25zdCBRPUIuZGVjb21wcmVzc1BhY2tlZChJLEEubGVuZ3RoLTIsZyk7Qi5mcmVlKEksMiooQS5sZW5ndGgtMikpO2NvbnN0e3N0YXJ0OkUsZW5kOmksY2FwYWNpdHk6b309YShCLm1lbW9yeSxRKSx3PW5ldyBVaW50OEFycmF5KEIubWVtb3J5LmJ1ZmZlci5zbGljZShFLGkpKSx0PW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZSh3KTtyZXR1cm4gQi5mcmVlKEUsbyksdH1zZWxmLm9ubWVzc2FnZT1mdW5jdGlvbihBKXtjb25zdHtjb21tYW5kOmcsaWQ6SSxkYXRhOkN9PUEuZGF0YTtzd2l0Y2goZyl7Y2FzZSJkZWNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOmUoQyl9KTticmVha31jYXNlImNvbXByZXNzIjp7c2VsZi5wb3N0TWVzc2FnZSh7aWQ6SSxkYXRhOnMoQyl9KTticmVha319fX0pKCk7", l = typeof window < "u" && window.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);" + atob(J)], { type: "text/javascript;charset=utf-8" });
2
- function V(Q) {
3
- let U;
4
- try {
5
- if (U = l && (window.URL || window.webkitURL).createObjectURL(l), !U)
6
- throw "";
7
- const F = new Worker(U, {
8
- type: "module",
9
- name: Q?.name
10
- });
11
- return F.addEventListener("error", () => {
12
- (window.URL || window.webkitURL).revokeObjectURL(U);
13
- }), F;
14
- } catch {
15
- return new Worker(
16
- "data:application/javascript;base64," + J,
17
- {
18
- type: "module",
19
- name: Q?.name
20
- }
21
- );
22
- }
23
- }
24
- const R = new V();
25
- let d = 0;
26
- const B = {};
27
- R.onmessage = function(Q) {
28
- const U = Q.data.id;
29
- B[U](Q.data.data), delete B[U];
30
- };
31
- async function Z(Q) {
32
- const U = d++;
33
- return new Promise((F) => {
34
- B[U] = F, R.postMessage({ command: "compress", id: U, data: Q });
35
- });
36
- }
37
- async function W(Q) {
38
- const U = d++;
39
- return new Promise((F) => {
40
- B[U] = F, R.postMessage({ command: "decompress", id: U, data: Q });
41
- });
42
- }
43
- export {
44
- Z as compressPacked,
45
- W as decompressPacked
46
- };
@@ -1,56 +0,0 @@
1
- function o(n, e) {
2
- const t = new TextEncoder().encode(n), a = e.allocUint8(t.length);
3
- return new Uint8Array(
4
- e.memory.buffer,
5
- a,
6
- t.length
7
- ).set(t), { ptr: a, length: t.length };
8
- }
9
- function f(n) {
10
- const e = new Array(n.length);
11
- for (let t = 0; t < n.length; t++)
12
- e[t] = String.fromCharCode(n[t]);
13
- return e.join("");
14
- }
15
- function c(n, e) {
16
- const t = new Uint32Array(
17
- n.buffer.slice(e, e + 8)
18
- ), a = t.at(0), r = t.at(1);
19
- return {
20
- start: e - a,
21
- end: e,
22
- capacity: r
23
- };
24
- }
25
- const l = async (n = {}, e) => {
26
- let t;
27
- if (e.startsWith("data:")) {
28
- const a = e.replace(/^data:.*?base64,/, "");
29
- let r;
30
- if (typeof Buffer == "function" && typeof Buffer.from == "function")
31
- r = Buffer.from(a, "base64");
32
- else if (typeof atob == "function") {
33
- const s = atob(a);
34
- r = new Uint8Array(s.length);
35
- for (let i = 0; i < s.length; i++)
36
- r[i] = s.charCodeAt(i);
37
- } else
38
- throw new Error("Failed to decode base64-encoded data URL, Buffer and atob are not supported");
39
- t = await WebAssembly.instantiate(r, n);
40
- } else {
41
- const a = await fetch(e), r = a.headers.get("Content-Type") || "";
42
- if ("instantiateStreaming" in WebAssembly && r.startsWith("application/wasm"))
43
- t = await WebAssembly.instantiateStreaming(a, n);
44
- else {
45
- const s = await a.arrayBuffer();
46
- t = await WebAssembly.instantiate(s, n);
47
- }
48
- }
49
- return t.instance;
50
- };
51
- export {
52
- f as U,
53
- o as c,
54
- c as e,
55
- l as i
56
- };
@@ -1,5 +0,0 @@
1
- export type Message = {
2
- command: string;
3
- id: number;
4
- data: string;
5
- };
package/src/common.ts DELETED
@@ -1,39 +0,0 @@
1
- export function copyToWasmBuffer(
2
- str: string,
3
- exports: { allocUint8: (size: number) => number; memory: any }
4
- ) {
5
- // There's also an 'encodeInto' method to avoid a copy, but by encoding first, we can allocate only exactly what we need.
6
- const utf8Str = new TextEncoder().encode(str);
7
- const ptrToStr = exports.allocUint8(utf8Str.length);
8
- const inBuffer = new Uint8Array(
9
- exports.memory.buffer,
10
- ptrToStr,
11
- utf8Str.length
12
- );
13
- inBuffer.set(utf8Str); // Copy to WASM buffer.
14
-
15
- return { ptr: ptrToStr, length: utf8Str.length };
16
- }
17
-
18
- // Horrible. Surely we can do better...
19
- export function Uint16ArraytoString(buf: Uint16Array) {
20
- const strBuilder = new Array(buf.length);
21
- for (let i = 0; i < buf.length; i++)
22
- strBuilder[i] = String.fromCharCode(buf[i]);
23
- return strBuilder.join("");
24
- }
25
-
26
- export function extractFooter(memory: WebAssembly.Memory, ptrToFooter: number) {
27
- const footer = new Uint32Array(
28
- memory.buffer.slice(ptrToFooter, ptrToFooter + 8)
29
- );
30
- const streamLength = footer.at(0)!;
31
- const capacity = footer.at(1)!;
32
- const start = ptrToFooter - streamLength;
33
-
34
- return {
35
- start,
36
- end: ptrToFooter,
37
- capacity,
38
- };
39
- }
Binary file
package/src/module.wasm DELETED
Binary file
@@ -1,77 +0,0 @@
1
- import {
2
- Uint16ArraytoString,
3
- copyToWasmBuffer,
4
- extractFooter,
5
- } from "./common.js";
6
- import init from "./module-packed.wasm?init";
7
-
8
- type exportsType = {
9
- allocUint8: (size: number) => number;
10
- allocUint16: (size: number) => number;
11
- compressPacked: (ptr: number, length: number) => number;
12
- decompressPacked: (
13
- ptr: number,
14
- length: number,
15
- tokenCount: number
16
- ) => number;
17
- free: (ptr: number, length: number) => void;
18
- memory: WebAssembly.Memory;
19
- };
20
-
21
- const instance = await init();
22
- const exports = instance.exports as exportsType;
23
-
24
- export function compressPacked(str: string) {
25
- const { ptr, length } = copyToWasmBuffer(str, exports);
26
-
27
- const ptrToFooter = exports.compressPacked(ptr, length);
28
-
29
- exports.free(ptr, length);
30
-
31
- //console.log(ptrToFooter);
32
-
33
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
34
-
35
- //console.log(start, end, capacity / (1024 * 1024));
36
-
37
- // Includes the tokenCount at the end of the stream (2 * u16).
38
- const compressed = new Uint16Array(exports.memory.buffer.slice(start, end));
39
-
40
- const r = Uint16ArraytoString(compressed);
41
-
42
- exports.free(start, capacity);
43
-
44
- return r;
45
- }
46
-
47
- export function decompressPacked(compressedStr: string) {
48
- const tokenCount =
49
- (compressedStr.charCodeAt(compressedStr.length - 1)! << 16) +
50
- compressedStr.charCodeAt(compressedStr.length - 2);
51
-
52
- let ptrToCompressed = exports.allocUint16(compressedStr.length - 2);
53
- let compressed_buffer = new Uint16Array(
54
- exports.memory.buffer,
55
- ptrToCompressed,
56
- compressedStr.length - 2
57
- );
58
-
59
- for (let i = 0; i < compressedStr.length - 2; i++)
60
- compressed_buffer[i] = compressedStr.charCodeAt(i);
61
-
62
- const ptrToFooter = exports.decompressPacked(
63
- ptrToCompressed,
64
- compressedStr.length - 2,
65
- tokenCount
66
- );
67
-
68
- exports.free(ptrToCompressed, 2 * (compressedStr.length - 2));
69
-
70
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
71
- const content = new Uint8Array(exports.memory.buffer.slice(start, end));
72
- const r = new TextDecoder().decode(content);
73
-
74
- exports.free(start, capacity);
75
-
76
- return r;
77
- }
@@ -1,29 +0,0 @@
1
- // @ts-expect-error
2
- import Worker from "./worker-packed.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compressPacked(data: string) {
16
- const id = nextID++;
17
- return new Promise<string>((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompressPacked(data: string) {
24
- const id = nextID++;
25
- return new Promise<string>((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
@@ -1,29 +0,0 @@
1
- // @ts-expect-error
2
- import Worker from "./worker.js?worker&inline";
3
-
4
- const worker = new Worker();
5
-
6
- let nextID = 0;
7
- const resolver: Record<number, (str: string) => void> = {};
8
-
9
- worker.onmessage = function (e: { data: { id: number; data: string } }) {
10
- const id = e.data.id;
11
- resolver[id](e.data.data);
12
- delete resolver[id];
13
- };
14
-
15
- export async function compress(data: string) {
16
- const id = nextID++;
17
- return new Promise<string>((resolve) => {
18
- resolver[id] = resolve;
19
- worker.postMessage({ command: "compress", id, data });
20
- });
21
- }
22
-
23
- export async function decompress(data: string) {
24
- const id = nextID++;
25
- return new Promise<string>((resolve) => {
26
- resolver[id] = resolve;
27
- worker.postMessage({ command: "decompress", id, data });
28
- });
29
- }
@@ -1,61 +0,0 @@
1
- import {
2
- Uint16ArraytoString,
3
- copyToWasmBuffer,
4
- extractFooter,
5
- } from "./common.js";
6
- import init from "./module.wasm?init";
7
-
8
- type exportsType = {
9
- allocUint8: (size: number) => number;
10
- allocUint16: (size: number) => number;
11
- compress: (ptr: number, length: number) => number;
12
- decompress: (ptr: number, length: number) => number;
13
- free: (ptr: number, length: number) => void;
14
- memory: WebAssembly.Memory;
15
- };
16
-
17
- const instance = await init();
18
- const exports = instance.exports as exportsType;
19
-
20
- export function compress(str: string) {
21
- const { ptr, length } = copyToWasmBuffer(str, exports);
22
-
23
- const ptrToFooter = exports.compress(ptr, length);
24
-
25
- exports.free(ptr, length);
26
-
27
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
28
-
29
- const content = new Uint16Array(exports.memory.buffer.slice(start, end));
30
- const r = Uint16ArraytoString(content);
31
-
32
- exports.free(start, capacity);
33
-
34
- return r;
35
- }
36
-
37
- export function decompress(compressedStr: string) {
38
- const ptrToCompressed = exports.allocUint16(compressedStr.length);
39
- const compressed_buffer = new Uint16Array(
40
- exports.memory.buffer,
41
- ptrToCompressed,
42
- compressedStr.length
43
- );
44
- for (let i = 0; i < compressedStr.length; i++)
45
- compressed_buffer[i] = compressedStr.charCodeAt(i);
46
-
47
- const ptrToFooter = exports.decompress(
48
- ptrToCompressed,
49
- compressedStr.length
50
- );
51
-
52
- exports.free(ptrToCompressed, 2 * compressedStr.length);
53
-
54
- const { start, end, capacity } = extractFooter(exports.memory, ptrToFooter);
55
- const content = new Uint8Array(exports.memory.buffer.slice(start, end));
56
- const r = new TextDecoder().decode(content);
57
-
58
- exports.free(start, capacity);
59
-
60
- return r;
61
- }
package/src/wasm.d.ts DELETED
@@ -1,6 +0,0 @@
1
- declare module "*.wasm?init" {
2
- const initWasm: (
3
- options?: WebAssembly.Imports
4
- ) => Promise<WebAssembly.Instance>;
5
- export default initWasm;
6
- }
@@ -1,21 +0,0 @@
1
- import { compressPacked, decompressPacked } from "./smol-string-packed.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- self.onmessage = function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- self.postMessage({ id, data: decompressPacked(data) });
14
- break;
15
- }
16
- case "compress": {
17
- self.postMessage({ id, data: compressPacked(data) });
18
- break;
19
- }
20
- }
21
- };
package/src/worker.ts DELETED
@@ -1,21 +0,0 @@
1
- import { compress, decompress } from "./smol-string.js";
2
-
3
- export type Message = {
4
- command: string;
5
- id: number;
6
- data: string;
7
- };
8
-
9
- self.onmessage = function (e: { data: Message }) {
10
- const { command, id, data } = e.data;
11
- switch (command) {
12
- case "decompress": {
13
- self.postMessage({ id, data: decompress(data) });
14
- break;
15
- }
16
- case "compress": {
17
- self.postMessage({ id, data: compress(data) });
18
- break;
19
- }
20
- }
21
- };
package/tsconfig.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "useDefineForClassFields": true,
5
- "module": "ESNext",
6
- "lib": ["ESNext", "DOM", "DOM.Iterable"],
7
- "skipLibCheck": true,
8
-
9
- /* Bundler mode */
10
- "moduleResolution": "bundler",
11
- "allowImportingTsExtensions": true,
12
- "resolveJsonModule": true,
13
- "isolatedModules": true,
14
- "noEmit": true,
15
-
16
- /* Linting */
17
- "strict": true,
18
- "noUnusedLocals": true,
19
- "noUnusedParameters": true,
20
- "noFallthroughCasesInSwitch": true
21
- },
22
- "include": ["src"]
23
- }
package/vite.config.ts DELETED
@@ -1,45 +0,0 @@
1
- /// <reference types="vitest" />
2
- import { defineConfig } from "vite";
3
- import dts from "vite-plugin-dts";
4
- import pkg from "./package.json" assert { type: "json" };
5
-
6
- import topLevelAwait from "vite-plugin-top-level-await";
7
-
8
- export default defineConfig({
9
- build: {
10
- lib: {
11
- entry: {
12
- "smol-string": "./src/smol-string.ts",
13
- "smol-string-packed": "./src/smol-string-packed.ts",
14
- "smol-string-worker": "./src/smol-string-worker.ts",
15
- "smol-string-worker-packed":
16
- "./src/smol-string-worker-packed.ts",
17
- },
18
- formats: ["es"],
19
- },
20
- rollupOptions: {
21
- external: [
22
- ...Object.keys(pkg["dependencies"] ?? {}), // don't bundle dependencies
23
- /^node:.*/, // don't bundle built-in Node.js modules (use protocol imports!)
24
- ],
25
- },
26
- target: "esnext",
27
- },
28
- worker: {
29
- format: "es",
30
- plugins() {
31
- return [
32
- topLevelAwait({
33
- // The export name of top-level await promise for each chunk module
34
- promiseExportName: "__tla",
35
- // The function to generate import names of top-level await promise in each chunk module
36
- promiseImportName: (i) => `__tla_${i}`,
37
- }),
38
- ];
39
- },
40
- },
41
- plugins: [
42
- dts(), // emit TS declaration files
43
- ],
44
- test: {},
45
- });