toiljs 0.0.84 → 0.0.85

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.0.84] - 2026-07-02
4
+
5
+ - No changes
6
+
7
+
3
8
  ## [v0.0.83] - 2026-07-01
4
9
 
5
10
  - No changes
@@ -1 +1 @@
1
- {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.webworker.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@dacely/uwebsockets.js/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/LiveFile.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/SSEventStream.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Response.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/MultipartField.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Request.d.ts","../../node_modules/typed-emitter/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/ws/Websocket.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareNext.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareHandler.d.ts","../../node_modules/@dacely/hyper-express/types/components/router/Router.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/HostManager.d.ts","../../node_modules/@dacely/hyper-express/types/components/Server.d.ts","../../node_modules/@dacely/hyper-express/types/index.d.ts","../../node_modules/picocolors/types.d.ts","../../node_modules/picocolors/picocolors.d.ts","../shared/index.d.ts","../io/FastMap.d.ts","../io/FastSet.d.ts","../io/codec.d.ts","../io/types.d.ts","../io/index.d.ts","../../src/devserver/config/dotenv.ts","../../src/devserver/config/env.ts","../../src/devserver/config/ratelimit.ts","../../src/devserver/analytics/index.ts","../../src/devserver/email/caps.ts","../../src/devserver/email/validate.ts","../../src/devserver/email/config.ts","../../src/devserver/email/status.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/ffi.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/iter.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/zlib/iter.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../src/devserver/email/providers.ts","../../src/devserver/email/wire.ts","../../src/devserver/email/index.ts","../../node_modules/@noble/hashes/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-dsa.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-kem.d.ts","../../node_modules/@noble/curves/utils.d.ts","../../node_modules/@noble/curves/abstract/modular.d.ts","../../node_modules/@noble/curves/abstract/curve.d.ts","../../node_modules/@noble/curves/abstract/edwards.d.ts","../../node_modules/@noble/curves/abstract/hash-to-curve.d.ts","../../node_modules/@noble/curves/abstract/frost.d.ts","../../node_modules/@noble/curves/abstract/montgomery.d.ts","../../node_modules/@noble/curves/abstract/oprf.d.ts","../../node_modules/@noble/curves/ed25519.d.ts","../../src/devserver/runtime/crypto.ts","../../src/devserver/runtime/host.ts","../../src/devserver/wasm/sections.ts","../../src/devserver/db/types.ts","../../src/devserver/db/catalog.ts","../../src/devserver/db/database.ts","../../src/devserver/db/derives.ts","../../src/devserver/db/index.ts","../../src/devserver/daemon/host.ts","../../src/devserver/wasm/surface.ts","../../src/devserver/daemon/catalog.ts","../../src/devserver/daemon/cron.ts","../../src/devserver/daemon/index.ts","../../src/devserver/daemon/runtime.ts","../../src/devserver/http/proxy.ts","../../src/devserver/http/envelope.ts","../../src/devserver/http/cache.ts","../../src/devserver/db/routeKinds.ts","../../src/devserver/runtime/module.ts","../../src/devserver/ssr.ts","../../src/devserver/http/runtime.ts","../../src/devserver/stream/catalog.ts","../../src/devserver/stream/host.ts","../../src/devserver/stream/index.ts","../../src/devserver/stream/manager.ts","../../src/devserver/stream/ws.ts","../../src/devserver/stream/router.ts","../../src/devserver/stream/wire.ts","../../src/devserver/server.ts","../../src/devserver/production-ipc.ts","../../src/devserver/production.ts","../../src/devserver/index.ts","../../src/devserver/production-worker.ts"],"fileIdsList":[[125,190,198,203,206,208,209,210,223],[111,125,190,198,203,206,208,209,210,223],[111,112,113,114,125,190,198,203,206,208,209,210,223],[94,97,99,104,105,125,190,198,203,206,208,209,210,223,228],[94,98,106,125,190,198,203,206,208,209,210,223,228],[94,95,96,106,125,190,198,203,206,208,209,210,223,228],[97,99,102,125,190,198,203,206,208,209,210,223],[125,190,198,201,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,228],[97,125,190,198,203,206,208,209,210,223],[94,97,99,101,103,125,190,198,203,206,208,209,210,223,228],[94,97,100,125,190,198,201,203,206,208,209,210,223,228],[94,95,96,97,98,99,101,102,103,104,106,125,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,269],[125,190,198,203,206,208,209,210,223,268],[125,190,198,203,206,208,209,210,223,272,273],[125,190,198,203,206,208,209,210,223,272,273,274],[125,190,198,203,206,208,209,210,223,272,273,274,276],[125,190,198,203,206,208,209,210,223,272],[125,190,198,203,206,208,209,210,223,272,274],[125,190,198,203,206,208,209,210,223,272,274,276],[125,190,198,203,206,208,209,210,223,272,273,274,275,276,277,278,279],[125,187,188,190,198,203,206,208,209,210,223],[125,189,190,198,203,206,208,209,210,223],[190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,232],[125,190,191,196,198,201,203,206,208,209,210,212,223,228,241],[125,190,191,192,198,201,203,206,208,209,210,223],[125,190,193,198,203,206,208,209,210,223,242],[125,190,194,195,198,203,206,208,209,210,214,223],[125,190,195,198,203,206,208,209,210,223,228,238],[125,190,196,198,201,203,206,208,209,210,212,223],[125,189,190,197,198,203,206,208,209,210,223],[125,190,198,199,203,206,208,209,210,223],[125,190,198,200,201,203,206,208,209,210,223],[125,189,190,198,201,203,206,208,209,210,223],[125,190,198,201,203,204,206,208,209,210,223,228,241],[125,190,198,201,203,204,206,208,209,210,223,228,230,232],[125,177,190,198,201,203,205,206,208,209,210,212,223,228,241],[125,190,198,201,203,205,206,208,209,210,212,223,228,238,241],[125,190,198,203,205,206,207,208,209,210,223,228,238,241],[124,125,126,127,128,129,130,131,132,133,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[125,190,198,203,206,208,210,223],[125,190,198,203,206,208,209,210,211,223,241],[125,190,198,201,203,206,208,209,210,212,223,228],[125,190,198,203,206,208,209,210,214,223],[125,190,198,203,206,208,209,210,215,223],[125,190,198,201,203,206,208,209,210,218,223],[125,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[125,190,198,203,206,208,209,210,220,223],[125,190,198,203,206,208,209,210,221,223],[125,190,195,198,203,206,208,209,210,212,223,232],[125,190,198,201,203,206,208,209,210,223,224],[125,190,198,203,206,208,209,210,223,225,242,245],[125,190,198,201,203,206,208,209,210,223,228,230,231,232],[125,190,198,203,206,208,209,210,223,229,232],[125,190,198,201,203,206,208,209,210,223,228,230],[125,190,198,201,203,206,208,209,210,223,228,231,232],[125,190,198,203,206,208,209,210,223,232,242],[125,190,198,203,206,208,209,210,223,233],[125,187,190,198,203,206,208,209,210,223,228,235,241],[125,190,198,203,206,208,209,210,223,228,234],[125,190,198,201,203,206,208,209,210,223,236,237],[125,190,198,203,206,208,209,210,223,236,237],[125,190,195,198,203,206,208,209,210,212,223,228,238],[125,190,198,203,206,208,209,210,223,239],[125,190,198,203,206,208,209,210,212,223,240],[125,190,198,203,205,206,208,209,210,221,223,241],[125,190,198,203,206,208,209,210,223,242,243],[125,190,195,198,203,206,208,209,210,223,243],[125,190,198,203,206,208,209,210,223,228,244],[125,190,198,203,206,208,209,210,211,223,245],[125,190,198,203,206,208,209,210,223,246],[125,190,193,198,203,206,208,209,210,223],[125,190,195,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,242],[125,177,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,223,247],[125,190,198,203,206,208,209,210,218,223],[125,190,198,203,206,208,209,210,223,237],[125,177,190,198,201,203,204,206,208,209,210,218,223,228,232,241,244,245,247],[125,190,198,203,206,208,209,210,223,228,248],[125,190,198,203,206,208,209,210,223,230,249],[125,190,198,203,206,208,209,210,223,250,252,254,258,259,260,261,262,263],[125,190,198,203,206,208,209,210,223,228,250],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,201,203,206,208,209,210,212,223,228,241,250,251,252,253,255,256,257,264],[125,190,198,203,206,208,209,210,223,228,250,254,255],[125,190,198,203,206,208,209,210,223,228,250,254],[125,190,198,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,203,206,208,209,210,223,228,250,256],[125,190,198,201,203,206,208,209,210,212,223,228,238,250,253,255,257],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,253,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,254,255,257,264],[125,190,198,203,205,206,208,209,210,223,228,250,257],[108,125,190,198,203,206,208,209,210,223],[125,140,143,146,147,190,198,203,206,208,209,210,223,241],[125,143,190,198,203,206,208,209,210,223,228,241],[125,143,147,190,198,203,206,208,209,210,223,241],[125,137,190,198,203,206,208,209,210,223],[125,141,190,198,203,206,208,209,210,223],[125,139,140,143,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,212,223,238],[125,190,198,203,206,208,209,210,223,250],[125,137,190,198,203,206,208,209,210,223,250],[125,139,143,190,198,203,206,208,209,210,212,223,241],[125,134,135,136,138,142,190,198,201,203,206,208,209,210,223,228,241],[125,143,190,198,203,206,208,209,210,223],[125,143,152,161,190,198,203,206,208,209,210,223],[125,135,141,190,198,203,206,208,209,210,223],[125,143,171,172,190,198,203,206,208,209,210,223],[125,135,138,143,190,198,203,206,208,209,210,223,232,241,250],[125,139,143,190,198,203,206,208,209,210,223,241],[125,134,190,198,203,206,208,209,210,223],[125,137,138,139,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,190,198,203,206,208,209,210,223],[125,143,164,167,190,198,203,206,208,209,210,223],[125,143,152,154,155,190,198,203,206,208,209,210,223],[125,141,143,154,156,190,198,203,206,208,209,210,223],[125,142,190,198,203,206,208,209,210,223],[125,135,137,143,190,198,203,206,208,209,210,223],[125,143,147,154,156,190,198,203,206,208,209,210,223],[125,147,190,198,203,206,208,209,210,223],[125,141,143,146,190,198,203,206,208,209,210,223,241],[125,135,139,143,152,190,198,203,206,208,209,210,223],[125,143,164,190,198,203,206,208,209,210,223],[125,156,190,198,203,206,208,209,210,223],[125,135,139,143,147,190,198,203,206,208,209,210,223],[125,137,143,171,190,198,203,206,208,209,210,223,232,247,250],[125,190,198,203,206,208,209,210,223,282,288],[116,125,190,198,203,206,208,209,210,223],[115,125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,291],[125,190,198,203,206,208,209,210,223,281,282,288],[109,125,190,198,203,206,208,209,210,223,282,289,290,291,292],[109,125,190,198,203,206,208,209,210,223,289,293],[115,125,190,198,203,206,208,209,210,223,283,284],[115,125,190,195,198,203,206,208,209,210,215,223,282,284,285],[125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,284,285,286,287],[125,190,198,203,206,208,209,210,223,283,284],[110,121,125,190,198,203,206,208,209,210,223],[110,116,120,121,122,123,125,190,198,203,206,208,209,210,223,265,266],[122,123,125,190,198,203,206,208,209,210,223,264],[107,125,190,198,203,206,208,209,210,223],[107,109,125,190,198,203,206,208,209,210,215,223,296,297,299,300],[125,190,198,203,206,208,209,210,223,282,283,289,290,291,292,293,295,296,299,309,311],[125,190,198,203,206,208,209,210,223,310,311],[107,109,110,125,190,191,198,203,206,208,209,210,214,215,223,241,267,288,289,294,299,300,301,310],[125,190,195,198,203,206,208,209,210,223,270,271,280,282],[117,118,119,125,190,198,203,206,208,209,210,223,266,267,281,288],[125,190,198,203,206,208,209,210,223,282,288,296,298],[107,109,110,125,190,198,203,206,208,209,210,215,223,267,288,289,294,295,299,300,301,307,308],[125,190,198,203,206,208,209,210,223,290,303],[125,190,198,203,206,208,209,210,223,304],[125,190,198,203,206,208,209,210,223,302,305,306],[107,125,190,198,203,206,208,209,210,223,295,307],[125,190,198,203,206,208,209,210,223,305]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"d52ed68e7eb5881768a55713c9b5c7c443e6b46de15c04e348928b8efd20b110","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"7719a661a691dcf1a84eed5581eb223494502f579aa1e2425178b6f20ec8fcd0","impliedFormat":1},{"version":"4c51e36c9004c2d14a0bba49beb91630da51b15a0c41f91b2b076038126a5806","impliedFormat":1},{"version":"aca6ac8bf8de795cf3b67d450592d0f36356a3dcd0fb6425ac52c910aeb98ce4","impliedFormat":1},{"version":"f6feef58f3338b06119e40473c60553cbd5c75d74545d0aa3522374b6405720a","impliedFormat":1},{"version":"af6e515790bebd2d99ab46c08a3570f9fd74cd8542a4ecd2ca54fc7356680d24","impliedFormat":1},{"version":"5c5d0c9af035f7c920ef604080a6eef0a76cb4067ab4747ad2dc07026bfbfb48","impliedFormat":1},{"version":"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b","impliedFormat":1},{"version":"93aa15a50eb71c40884e6f9b290eba6fb99d602706d21f8facf95c3bb8669abb","impliedFormat":1},{"version":"78ae308b449f2a861b1b1fbdd4aa0ba371c5e9e66aed2c2acf3b851785e652a4","impliedFormat":1},{"version":"d9e5cffcb3a6159f0a1e6fc1ad13abfe496a86cb82e0f59a82c926f8dad9d869","impliedFormat":1},{"version":"4485b7cd73d47ac60ff0a67f9c94f8b600c4d9665a27b268dd623baccc95c4eb","impliedFormat":1},{"version":"3800c5ce959fa102827db5cb875a461a05d43688ef4d85b76855c968a1573830","impliedFormat":1},{"version":"98c771706beebbe0f3720bb0a582b82e7c98cf62da175b8074cabecef2692546","impliedFormat":1},{"version":"9b1b01c85fe22541212ba4fa627d7f2059fa8af782ad6a899c43e9f4ceae4d0a","impliedFormat":1},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},"7427c56ad284f0a61481dac8b11e66b3282aac3674ed9c7bcd91760566157867","6a4c287c863003342a42d8bf876c7df4c2e82e95f556af5ade71f05255845200","272e7bc3a3734cc9e7419625f04cff7095131e315e51a83fa992a5134763df49","b9f2341c8b486561706db362b6f89ee6b149ef08fb4fa6aaea1041bce04fe1c5","3952955b5e83c1164fc78d7d54377fd4d09d2c11b79763cba53a7ff4b27a0601","48d0d0bebe2ccfd875953713d746fe4adae81b1e3a91ffafae29ead23fd5c39b",{"version":"17ed1b2c9dd69f94e1a977d96890c383f112ce1993df4c03eabd49418ea4033a","signature":"1d81abf2d4af00b47cc1c90a593df8bc20973a6f10f876ba2edf4472c92916e7"},{"version":"e50757614c24c77f3b0d9a6d1f5dc43d7bc94fcab901aac19ebfb70a090687b6","signature":"d5a0eccefdb38d9b0ae85975882356b139b5ff945800644aca4d4625ea6c02a5"},{"version":"cc8cbe5bd9904c3dacef70927c1ea76e45848a948400e88ad9b5eaf638408583","signature":"5cb1fc4c5698dc71e64f17b2fcaee2bee90307dcf0a8c2a44a5cbd7d0fac5413"},{"version":"7565338290bf16c1c171d09847bfe37c52ef7443a8e7ec04fe75f8c79f88b4a1","signature":"c590ac32820b7afb6dce1b9e8b8d37408ab1967f756e1ef7a989f930c184c3d9"},{"version":"76596c58da9b3ec9669154b9aab3c015dd1f2c3a9fb42422c21293bac8a693c8","signature":"93fed7f494e689ff198a654fe4cace52bc84427a05b826cdcb5aca6b03d88e07"},{"version":"fed82d3ea110e523349def3b954fcae7df438ec5895179405e6edb763273c6de","signature":"1c3e333dafced9c79c077ce18d0aa60c7b6aa61e25a1ec031eb2c2bbb6d0fa4c"},{"version":"c383d81ef5b6823445274ba41a543356033c6e2f9e038b1957b7a22ff7dacafa","signature":"a6d2ce012a3fe324ef167e7b8f339c2579a0fec5f137eb8c7027baf6987558c9"},{"version":"97de9e20711004c6f771e29b37b7e66dc2810c7ed21dff371ff27d2e1688f197","signature":"c318bd5c2b2ab237dac0e9173d410b4b488ce28ad2be3dad2ee8d3e99d1ec7ec"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"3ac40516c33b87f751f7507346933081a26cdb8a3e11a6b3aa07d23f803c85db","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"829bc57ee8f287b490ab5bbc5a962fca57e432c1e38ec680ecd3ecaf12800613","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"3a3ff14da53d5013f3e6d8c4ad55225e3649c08786c4421ce639c00d8d589b7d","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"d243db6b25788f439e7e2f03c05688e92f46764351673bb0e7b2f3631232e186","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"9ac977503f15bf13ca7c82ad9a32a782f42d43e474824e8b3bffe228fd5f2639","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"7cb4f431a4591b0e23002bed805dc871a874dfed6b9a3994dce68a6df73e6739","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"2e6fca0024dd8a076a886d9ec031a936ea59ad878a25b944820495d92f8381dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"177459cba484e2f1e08872a3d2fdbca3162d9d43ca5ec9dc0c946835b55f74be","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"0e312260895afc9de021ce9de3c8a857392f0ccc7f19d3a030e4d6136a4ac91e","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"98fc7231d6c846a8ed19bdef026ddffe5e2182cc818be74899287421ad370a87","impliedFormat":1},{"version":"3a40b5d34e014017539acb92f04cf2bc0aa71e49efb33c66039df93be97842a1","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"79a85c64bf083c5f4dd7074e804d1000c0c47301b84d48417a224decd681be30","impliedFormat":1},{"version":"9f1e3a76d5f509b5579e567de522b402cb79e201c4f47dcd014451c0580b290d","impliedFormat":1},{"version":"2ddab5b6932f9a6327f71baeb82a1d6b0824e0d23a4c7a5de5d355857113c22f","impliedFormat":1},{"version":"70f3f8b2dcaf7388f26731a59c79437813e3620b594903525a303cb2a7901016","impliedFormat":1},{"version":"62e8f884c3bc6dff6189b6e662ebe8b238a645938f2df7a97b8a82fca56773a4","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"57a0d1b3d59063d4af2d3f8aac27cfe3c20a0f5d1faf0f8598ccf0b779637939","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"93ecf87143cac7b9d05cffc1d6bdc075b7e4fdd48ff05f1fad85043f6ae678d3","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"6f200afcb82b3e9a54bed6db23f2edf2508cd266801257312c0f124b47f2bdb9","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"39338f84e8c4d0e3de7b3c4a7024fb3925f42100eed5cbe73be58902799dff4d","impliedFormat":1},{"version":"fbf83eb33bf5e329527add92acc65da59323876c702ddccf5f4bf1e848c92369","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"515318bc6e656f75e9e34db625316bfafbafd800dfb1642574af93735a24ad38","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"03b7804d69cecd66850abada858ed6d4a59001f8c228a9fe212306ee860a4ff6","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"987fd1f85dc36f4b2c927aa3db814ac6b452e970f4f55d24ed4ecbb7df09be00","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"b4769767f13a1692a66186e01c3aa186ff808d5ff72ed36eda8c37738fb2ac92","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"683edfc4f2b411ebe04729cb6dc09ddd26fbac2c57771a6d7c55964af776e176","impliedFormat":1},{"version":"1ec3f3a5f04cc42df33274fbe5c0937d9a9e06f249a7a26288d7d54f0763ffd4","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"e47f532d6e1617833f13a5b0710c0089d402c89c2f2b54f324e5a20e418d287a","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"82c3cc48c692438e41b94d936b8acd75ca97b18c50fa1af8a0715eb9d07d18cd","impliedFormat":1},{"version":"045a210189ec63c5488410b33f9fca53d77d051599d0d6506d8048551399c5f3","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"632c45ccb4cdc2c3a80c7a36a63dd7763016e59cac5e07bfb3e37e3548957028","impliedFormat":1},{"version":"c9a2daf6cd1eb854cd5b9e424247c5e306692055738c2effd35f7871d942b76e","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"e50a7130339a951e6da9e968ed5521b0997a5b0479e148914087213839b5474c","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"4192ff616e838c06d10db071fbd3628f798bf7f279b84759cbc6a9c4f4c94dfb","impliedFormat":1},{"version":"b61028c5e29a0691e91a03fa2c4501ea7ed27f8fa536286dc2887a39a38b6c44","impliedFormat":1},{"version":"a4bf154e0f9d56112713c3a7d2d60c85d667cae17e69f7869a32578881b652a8","impliedFormat":1},{"version":"d5f65e3a5277cbd0b2c89da26703c5879cc428da7ca816d1d1fcdfd7c0a2500e","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"51d4fca2239d818a6254ba46be06e4def3be685ec034e9255cba403d3b27a07c","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"859cf43771b68e589bb12c6e5cde3edcde4b530c7d324f455af2b9e61d4f4768","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"ba2e5b6da441b8cf9baddc30520c59dc3ab47ad3674f6cb51f64e7e1f662df12","impliedFormat":1},{"version":"fefd77e646c5e5e59cd1be3e3a0a9bf7e4f4e408483cc6139d742130f205f97a","signature":"6569281b678977214d8f4a6e343449fd6093f8b068d8aec99ac0ec4be2b27080"},{"version":"28535ae92479a1bead22fc9d16f2c9cb7eee6b63610e6b7d59a53ace4e96eaa3","signature":"aaada990646de4a4b933f7779577f712d8bbb90e51a07fa6c775aa939b760cba"},{"version":"42ccc8d3d0168b59fccbf70c0b610c5aaba17b3e8b48d1eca5df16a60244b653","signature":"e0cb9987a908a42e7fdbc379c59ec328639618a13ea88be65d5b7698360defaf"},{"version":"5d01f288556ba56b803dfbd9b207502aaaa831afddd9e71b2b5ce250dc395152","impliedFormat":99},{"version":"7b9d4f3cc667e8896241f6c95d2824ced607ce7f2858cedf04058ddd23287602","impliedFormat":99},{"version":"371e624178bb67607b2c63e1f8ec3e5d9585455b39bac8f0816eba540072383f","impliedFormat":99},{"version":"c468447508a5ca66c0a2523ed935cf5cb1d768d890c991e20397df618db741d1","impliedFormat":99},{"version":"b8c741cb7cd15e89b24af6c25b6d95a581b2d79f7c0d959552220743f7269c7f","impliedFormat":99},{"version":"1b65eaf896a59cf1904bae76e68bc64941671555a3b1ee4190bcd6d3b16d5b61","impliedFormat":99},{"version":"2cea0605228c4357d9f57b6d13fd607752579a0a70995ccf70179110b098435b","impliedFormat":99},{"version":"edc4a14bf998e6512257766b4f291c940b5e88fe8bea8aec0c499e2e41da1d34","impliedFormat":99},{"version":"74853f56c2d22c7794408839dc106c4c412818fbd2e855b1d7dc4a70447f8387","impliedFormat":99},{"version":"61d04e1fb8987919928a5c4982fe4b32ec4147bd39491b4da9720bb518fd77ce","impliedFormat":99},{"version":"c1d730d8774ef9d198a2f8ecedd6806b1efd9e00a502ba7e28969f5a2c550ae1","impliedFormat":99},{"version":"9155fc738cfdd9a8dbeb7a9657998407101fc278c1649d8bb24b24b4fc7e5ad4","impliedFormat":99},{"version":"aa9a3b2c5d46f501a49ebde65cbdd59a7c05122f4f15785467bc30b6d8956751","impliedFormat":99},{"version":"b9eb3a236acf7eac683fc3d9ab8e627d5b9c96f900d25fb9948db513b6d372d4","signature":"ca82ed5bd0e6a6a2ee805fb8ff9f76022342ab3a4830687792b225105117f1d2"},{"version":"914b59b2f85658732c9b8738d9192da4add017c84e08ed9ca2df0545ed092eea","signature":"914b55a462408dd85c771a10b6981a06a582753fb8ede0b9d3ee8255f8c134e7"},{"version":"ec8ca603dd6b8e963e473b6dc5a29e974f8bf476c5a02c4ba8b818273fc274c7","signature":"16f83be6917e40d274663129464b0ff536a82badf5d6dd6b63621a3fcbef3a52"},{"version":"0a8029dc27a383d6078b5cbc70263877566164ec731a8aef712c3d31ab9e10ae","signature":"fd16e281a88d7f188c066f0a4b765cc3daaa6b94aaf61015c668021dc618a8c9"},{"version":"2f125f2963183677d731b2c16d13a59b441b1accf25b15164316b95fce86db81","signature":"7d81fa2c747ede1d7353d14e46a294f8067e3185ab52990748133eb1ecbb8e95"},{"version":"f4e420058e14ab6f3b4e7952a4db453995249baa71bfe90ee39a0b747f7c8497","signature":"33b4d9939d258fe23886bdb50057afecc3e0644b27e9117ab794ad4af7f419cd"},{"version":"396bdd79dd0ddace0329e0f155c61f3f4f6571350dc2db66fd23076cc0df17f2","signature":"d3421d1c910ed6b9b3b40e81be3f1099176bb7e4d7577c59fc6328cc0af67f6e"},{"version":"7a348d795b245410f8fc22456c9679d798dee0d67f94b4b5e24f839bc7747868","signature":"747cf7fbc97027491d1419c2d3c1e599f6ca806b490147fb09c412a574057495"},{"version":"5a0809ccc03a8835caddfcccec07afecda734877a478c087141458f0df9edfc9","signature":"954496a4abdbf18ad54d15ef7482301b2dccec5144a6b44aec42983f63b22ec4"},{"version":"d8092d647207303f352e2e2deb9a2923d83e1711e19ff150e0788aea5168c7d5","signature":"0640afefa828d574be4b51943041822e739b18a7eeb65ee316908a576dc96806"},{"version":"c7682a515c2020870948f1dfa42fe5852614b4b188870056a736c2f34588bad9","signature":"a6d795d9d6803cbde86e2a30c4ddde6a90ba347a93211e88aa342e914153f832"},{"version":"013a1649e98404562b1b378d8800a20ebffd0035a10ffee4201954742bba3143","signature":"e62ba68263ee74daa6727e0741273f73bbd8c51d055452404cfcbee6e1a727c9"},{"version":"d0f1816e2aeff2fb826592d224769969113033bb99861d192ca7a2d3883227ec","signature":"b7a2a3cc0a5c07d1fe6ce60943a491b44872e3f1e99a96dc28c6384e4b040e97"},{"version":"f94c59f47201178c34d4401559fef7c9c0ebeb75bf26426f1d09a962b7a9b339","signature":"7df91913922a7e6e3fe90aeff301971de5c0c7809d7e373e301d9e59d48811c6"},{"version":"55c44a8b71a85737b62cbed1ab8812bfa64be4a9fe0ce9f396c238d431271740","signature":"18363e751472a5f649e32d5f9603251d045a3b9b266334625e2ec59c1ccf317f"},{"version":"68e1c894bee4c9c1924aa53eb809df81b686dde38124e0d27d172a0630bfc293","signature":"d8746f554d940f6522ec6ede961ef38d31a0947100d8f834db7a64f93cef6dd2"},{"version":"ca2e8a22cada8ffa630d8e58af373a74fcf4d847fab5d0a3ce23e3301984a3bd","signature":"623a11bcaa7716d2f7bf0272c80a5a2fdafea82333c1ed23664ea8132f890d1c"},{"version":"4947191b6aaf6b7f2ba52af719480b0a8fd748919db2c29c9f46182f6f5963f1","signature":"59be9348946adc746a9ee5b7c03c1f293ba60d7a6646f45c76fa962207de2f01"},{"version":"cd308722a90bfd80b9b3e546820bf5379b06b7f2a05cebd917aa34f5909f3bec","signature":"1269505d024fe59653f1789b7897073cdb4d29dc99093a1921849c99a30b4080"},{"version":"630f0200962a9442c01f4d89376ff577b1a3782f9f8aba0a961053f61185e228","signature":"b46fbaff85ea35cfe2ef8dca455fc85394e2e8be592feb827152cfedc57e0262"},{"version":"4df1b82a6fab71ffad04aa6db995f980cd982f4c8041664550e4b5464dfa2b2e","signature":"c3ef56f121f2679b3f337ed0ca1dc33c25ebe1bee45a2cfa510c879b8b12a14c"},{"version":"210c03de7f9383a532c888d7da80563c8f80ace5a75f54363628dc8f86b7483d","signature":"d92db3dfcef7481ade8af11dae97f83c3d117aeb3221ac4430464406621d9df4"},{"version":"fa103472d20ae90bc62a38e7e180f63fab8d2b26a84f78ff0009002b7ba7b13d","signature":"fe513e9f038509da759da21aa2f87e2869b2c7f47d4948be79ed8dbdb499cb3a"},{"version":"54317971c93886ae1f92a5d71a6ab5afd578e9b427e71bc402d1ae5ae8ac9811","signature":"c90b7865ea1c875c18af5fb7a8b44974bcf2df746224a00f5931ff9274f6e7f3"},{"version":"4e30ada63fd58fb32bcd499677413534cfd0d8d16663c4ad94ff146e61d0805d","signature":"c65cac17de5d5e7eee19bf8e2a3b8d052418cda60c7a7eae338c89d7473fef4f"},{"version":"9ac428b0b35ab4080066ef9ef7db3843866f4442eacd4c3cdce84b01339fe303","signature":"4d7010f00467d1993bc6d5292f69462bdbb2abfc0d5cf71fb5f3e0d9605c2215"},{"version":"a7f8f2fb3844e56a8903b50262aaa3203385a2427827ac4db49ce3d0ad66b0de","signature":"d86a3a626c15cb0730cc2c7dfecd3f9f6483d04c395ee1561e49b05856421304"},{"version":"e9670f79c5b3a4e9530a77f147db2c9a97851835f9116a58112af5ff5a1e0b7f","signature":"f8b66106cc7dc5ed954a28d056fc243acda8bbdc5e1999141dd35f34e97fa245"},{"version":"e2a93aef6b1814a41816f65389743134ed751fbc1121d619f9a5b63d06da5e16","signature":"a81afccd5831e390cd504701da7288714e795151e1df630b5281ccf3774c969b"},{"version":"45388419360a08931649691c09e74d24febaa94e9d389b87826d4c2c21086554","signature":"9a8ba8f4f4be98077c4b7734ee7b805f374fcd71850d77ae6e9cd15b91b6f4bc"},{"version":"9f511624ad1e73a35fad0c9890370acaae633c67c3e360192208ad6e464e683a","signature":"d239ddd36ff2760f669f87809db8aca94a749344f3e171a5d1ef122468a9ccc3"},{"version":"5159671b722465235f52db303d34bf6150e45bd69be8473e0a98cfc65d6355f5","signature":"40620ec486318d369901a2266445d8180a85d083c3a2f813fd4dc82767bd4425"},{"version":"d8975b20a67928f91f6bdc97c0256e137df392b57abbc7e0b44632bd5e63d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[116,123],[265,267],[281,313]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"rootDir":"../../src/devserver","skipLibCheck":true,"sourceMap":false,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"suppressImplicitAnyIndexErrors":false,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[111,1],[112,2],[113,1],[115,3],[114,1],[110,1],[106,4],[99,5],[97,6],[103,7],[102,1],[105,8],[95,8],[98,9],[96,10],[104,11],[101,12],[107,13],[270,14],[271,14],[269,15],[94,1],[274,16],[275,17],[277,18],[276,17],[273,19],[278,20],[279,21],[280,22],[272,15],[268,1],[187,23],[188,23],[189,24],[125,25],[190,26],[191,27],[192,28],[193,29],[194,30],[195,31],[196,32],[197,33],[198,34],[199,34],[200,35],[201,36],[202,1],[203,37],[204,38],[126,1],[124,1],[205,39],[206,40],[207,41],[250,42],[208,8],[209,43],[210,8],[211,44],[212,45],[214,46],[215,47],[216,47],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,53],[225,54],[226,1],[227,1],[228,55],[229,56],[230,57],[231,58],[232,59],[233,60],[234,61],[235,62],[236,63],[237,64],[238,65],[239,66],[240,67],[241,68],[242,69],[243,70],[244,71],[245,72],[246,73],[127,8],[128,1],[129,74],[130,75],[131,1],[132,76],[133,1],[178,77],[179,78],[180,79],[181,79],[182,80],[183,1],[184,26],[185,81],[186,78],[247,82],[248,83],[249,84],[264,85],[251,86],[258,87],[254,88],[252,89],[255,90],[259,91],[260,87],[257,92],[256,93],[261,94],[262,95],[263,96],[253,97],[213,1],[109,98],[108,1],[100,1],[92,1],[93,1],[16,1],[14,1],[15,1],[21,1],[20,1],[2,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[29,1],[3,1],[30,1],[31,1],[4,1],[32,1],[36,1],[33,1],[34,1],[35,1],[37,1],[38,1],[39,1],[5,1],[40,1],[41,1],[42,1],[43,1],[6,1],[47,1],[44,1],[45,1],[46,1],[48,1],[7,1],[49,1],[54,1],[55,1],[50,1],[51,1],[52,1],[53,1],[8,1],[59,1],[56,1],[57,1],[58,1],[60,1],[9,1],[61,1],[62,1],[63,1],[65,1],[64,1],[66,1],[67,1],[10,1],[68,1],[69,1],[70,1],[11,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[12,1],[77,1],[78,1],[79,1],[80,1],[81,1],[1,1],[82,1],[83,1],[13,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[19,1],[17,1],[18,1],[152,99],[166,100],[149,101],[167,9],[176,102],[140,103],[141,104],[139,105],[175,106],[170,107],[174,108],[143,109],[153,110],[163,111],[142,112],[173,113],[137,114],[138,107],[144,110],[145,1],[151,115],[148,110],[135,116],[177,117],[168,118],[156,119],[155,110],[157,120],[160,121],[154,122],[158,123],[171,106],[146,124],[147,125],[161,126],[136,9],[165,127],[164,110],[150,125],[159,128],[162,129],[169,1],[134,1],[172,130],[119,131],[116,47],[117,132],[118,1],[291,133],[292,134],[289,135],[293,136],[294,137],[285,138],[286,139],[287,140],[288,141],[298,142],[284,1],[120,1],[122,143],[267,144],[265,145],[123,1],[121,1],[266,1],[297,1],[296,1],[295,146],[301,147],[312,148],[310,1],[313,149],[311,150],[281,151],[282,152],[299,153],[309,154],[300,1],[302,133],[303,135],[304,155],[305,156],[307,157],[308,158],[306,159],[283,1],[290,133]],"version":"6.0.3"}
1
+ {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.webworker.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@dacely/uwebsockets.js/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/LiveFile.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/SSEventStream.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Response.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/MultipartField.d.ts","../../node_modules/@dacely/hyper-express/types/components/http/Request.d.ts","../../node_modules/typed-emitter/index.d.ts","../../node_modules/@dacely/hyper-express/types/components/ws/Websocket.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareNext.d.ts","../../node_modules/@dacely/hyper-express/types/components/middleware/MiddlewareHandler.d.ts","../../node_modules/@dacely/hyper-express/types/components/router/Router.d.ts","../../node_modules/@dacely/hyper-express/types/components/plugins/HostManager.d.ts","../../node_modules/@dacely/hyper-express/types/components/Server.d.ts","../../node_modules/@dacely/hyper-express/types/index.d.ts","../../node_modules/picocolors/types.d.ts","../../node_modules/picocolors/picocolors.d.ts","../shared/index.d.ts","../io/FastMap.d.ts","../io/FastSet.d.ts","../io/codec.d.ts","../io/types.d.ts","../io/index.d.ts","../../src/devserver/config/dotenv.ts","../../src/devserver/config/env.ts","../../src/devserver/config/ratelimit.ts","../../src/devserver/analytics/index.ts","../../src/devserver/email/caps.ts","../../src/devserver/email/validate.ts","../../src/devserver/email/config.ts","../../src/devserver/email/status.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/ffi.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/iter.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/zlib/iter.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../src/devserver/email/providers.ts","../../src/devserver/email/wire.ts","../../src/devserver/email/index.ts","../../node_modules/@noble/hashes/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/utils.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-dsa.d.ts","../../node_modules/@dacely/noble-post-quantum/ml-kem.d.ts","../../node_modules/@noble/curves/utils.d.ts","../../node_modules/@noble/curves/abstract/modular.d.ts","../../node_modules/@noble/curves/abstract/curve.d.ts","../../node_modules/@noble/curves/abstract/edwards.d.ts","../../node_modules/@noble/curves/abstract/hash-to-curve.d.ts","../../node_modules/@noble/curves/abstract/frost.d.ts","../../node_modules/@noble/curves/abstract/montgomery.d.ts","../../node_modules/@noble/curves/abstract/oprf.d.ts","../../node_modules/@noble/curves/ed25519.d.ts","../../src/devserver/runtime/crypto.ts","../../src/devserver/runtime/host.ts","../../src/devserver/wasm/sections.ts","../../src/devserver/db/types.ts","../../src/devserver/db/catalog.ts","../../src/devserver/db/database.ts","../../src/devserver/db/derives.ts","../../src/devserver/db/index.ts","../../src/devserver/daemon/host.ts","../../src/devserver/wasm/surface.ts","../../src/devserver/daemon/catalog.ts","../../src/devserver/daemon/cron.ts","../../src/devserver/daemon/index.ts","../../src/devserver/daemon/runtime.ts","../../src/devserver/http/proxy.ts","../../src/devserver/http/envelope.ts","../../src/devserver/http/cache.ts","../../src/devserver/db/routeKinds.ts","../../src/devserver/runtime/module.ts","../../src/devserver/ssr.ts","../../src/devserver/http/runtime.ts","../../src/devserver/stream/catalog.ts","../../src/devserver/stream/host.ts","../../src/devserver/stream/index.ts","../../src/devserver/stream/manager.ts","../../src/devserver/stream/ws.ts","../../src/devserver/stream/router.ts","../../src/devserver/stream/wire.ts","../../src/devserver/server.ts","../../src/devserver/production-ipc.ts","../../src/devserver/production.ts","../../src/devserver/index.ts","../../src/devserver/production-worker.ts"],"fileIdsList":[[125,190,198,203,206,208,209,210,223],[111,125,190,198,203,206,208,209,210,223],[111,112,113,114,125,190,198,203,206,208,209,210,223],[94,97,99,104,105,125,190,198,203,206,208,209,210,223,228],[94,98,106,125,190,198,203,206,208,209,210,223,228],[94,95,96,106,125,190,198,203,206,208,209,210,223,228],[97,99,102,125,190,198,203,206,208,209,210,223],[125,190,198,201,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,228],[97,125,190,198,203,206,208,209,210,223],[94,97,99,101,103,125,190,198,203,206,208,209,210,223,228],[94,97,100,125,190,198,201,203,206,208,209,210,223,228],[94,95,96,97,98,99,101,102,103,104,106,125,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,269],[125,190,198,203,206,208,209,210,223,268],[125,190,198,203,206,208,209,210,223,272,273],[125,190,198,203,206,208,209,210,223,272,273,274],[125,190,198,203,206,208,209,210,223,272,273,274,276],[125,190,198,203,206,208,209,210,223,272],[125,190,198,203,206,208,209,210,223,272,274],[125,190,198,203,206,208,209,210,223,272,274,276],[125,190,198,203,206,208,209,210,223,272,273,274,275,276,277,278,279],[125,187,188,190,198,203,206,208,209,210,223],[125,189,190,198,203,206,208,209,210,223],[190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,232],[125,190,191,196,198,201,203,206,208,209,210,212,223,228,241],[125,190,191,192,198,201,203,206,208,209,210,223],[125,190,193,198,203,206,208,209,210,223,242],[125,190,194,195,198,203,206,208,209,210,214,223],[125,190,195,198,203,206,208,209,210,223,228,238],[125,190,196,198,201,203,206,208,209,210,212,223],[125,189,190,197,198,203,206,208,209,210,223],[125,190,198,199,203,206,208,209,210,223],[125,190,198,200,201,203,206,208,209,210,223],[125,189,190,198,201,203,206,208,209,210,223],[125,190,198,201,203,204,206,208,209,210,223,228,241],[125,190,198,201,203,204,206,208,209,210,223,228,230,232],[125,177,190,198,201,203,205,206,208,209,210,212,223,228,241],[125,190,198,201,203,205,206,208,209,210,212,223,228,238,241],[125,190,198,203,205,206,207,208,209,210,223,228,238,241],[124,125,126,127,128,129,130,131,132,133,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249],[125,190,198,203,206,208,210,223],[125,190,198,203,206,208,209,210,211,223,241],[125,190,198,201,203,206,208,209,210,212,223,228],[125,190,198,203,206,208,209,210,214,223],[125,190,198,203,206,208,209,210,215,223],[125,190,198,201,203,206,208,209,210,218,223],[125,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248],[125,190,198,203,206,208,209,210,220,223],[125,190,198,203,206,208,209,210,221,223],[125,190,195,198,203,206,208,209,210,212,223,232],[125,190,198,201,203,206,208,209,210,223,224],[125,190,198,203,206,208,209,210,223,225,242,245],[125,190,198,201,203,206,208,209,210,223,228,230,231,232],[125,190,198,203,206,208,209,210,223,229,232],[125,190,198,201,203,206,208,209,210,223,228,230],[125,190,198,201,203,206,208,209,210,223,228,231,232],[125,190,198,203,206,208,209,210,223,232,242],[125,190,198,203,206,208,209,210,223,233],[125,187,190,198,203,206,208,209,210,223,228,235,241],[125,190,198,203,206,208,209,210,223,228,234],[125,190,198,201,203,206,208,209,210,223,236,237],[125,190,198,203,206,208,209,210,223,236,237],[125,190,195,198,203,206,208,209,210,212,223,228,238],[125,190,198,203,206,208,209,210,223,239],[125,190,198,203,206,208,209,210,212,223,240],[125,190,198,203,205,206,208,209,210,221,223,241],[125,190,198,203,206,208,209,210,223,242,243],[125,190,195,198,203,206,208,209,210,223,243],[125,190,198,203,206,208,209,210,223,228,244],[125,190,198,203,206,208,209,210,211,223,245],[125,190,198,203,206,208,209,210,223,246],[125,190,193,198,203,206,208,209,210,223],[125,190,195,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,242],[125,177,190,198,203,206,208,209,210,223],[125,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,223,247],[125,190,198,203,206,208,209,210,218,223],[125,190,198,203,206,208,209,210,223,237],[125,177,190,198,201,203,204,206,208,209,210,218,223,228,232,241,244,245,247],[125,190,198,203,206,208,209,210,223,228,248],[125,190,198,203,206,208,209,210,223,230,249],[125,190,198,203,206,208,209,210,223,250,252,254,258,259,260,261,262,263],[125,190,198,203,206,208,209,210,223,228,250],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,201,203,206,208,209,210,212,223,228,241,250,251,252,253,255,256,257,264],[125,190,198,203,206,208,209,210,223,228,250,254,255],[125,190,198,203,206,208,209,210,223,228,250,254],[125,190,198,203,206,208,209,210,223,250,252,254,255,257,264],[125,190,198,203,206,208,209,210,223,228,250,256],[125,190,198,201,203,206,208,209,210,212,223,228,238,250,253,255,257],[125,190,198,201,203,206,208,209,210,223,250,252,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,253,254,255,256,257,264],[125,190,198,201,203,206,208,209,210,223,228,250,252,254,255,257,264],[125,190,198,203,205,206,208,209,210,223,228,250,257],[108,125,190,198,203,206,208,209,210,223],[125,140,143,146,147,190,198,203,206,208,209,210,223,241],[125,143,190,198,203,206,208,209,210,223,228,241],[125,143,147,190,198,203,206,208,209,210,223,241],[125,137,190,198,203,206,208,209,210,223],[125,141,190,198,203,206,208,209,210,223],[125,139,140,143,190,198,203,206,208,209,210,223,241],[125,190,198,203,206,208,209,210,212,223,238],[125,190,198,203,206,208,209,210,223,250],[125,137,190,198,203,206,208,209,210,223,250],[125,139,143,190,198,203,206,208,209,210,212,223,241],[125,134,135,136,138,142,190,198,201,203,206,208,209,210,223,228,241],[125,143,190,198,203,206,208,209,210,223],[125,143,152,161,190,198,203,206,208,209,210,223],[125,135,141,190,198,203,206,208,209,210,223],[125,143,171,172,190,198,203,206,208,209,210,223],[125,135,138,143,190,198,203,206,208,209,210,223,232,241,250],[125,139,143,190,198,203,206,208,209,210,223,241],[125,134,190,198,203,206,208,209,210,223],[125,137,138,139,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,190,198,203,206,208,209,210,223],[125,143,164,167,190,198,203,206,208,209,210,223],[125,143,152,154,155,190,198,203,206,208,209,210,223],[125,141,143,154,156,190,198,203,206,208,209,210,223],[125,142,190,198,203,206,208,209,210,223],[125,135,137,143,190,198,203,206,208,209,210,223],[125,143,147,154,156,190,198,203,206,208,209,210,223],[125,147,190,198,203,206,208,209,210,223],[125,141,143,146,190,198,203,206,208,209,210,223,241],[125,135,139,143,152,190,198,203,206,208,209,210,223],[125,143,164,190,198,203,206,208,209,210,223],[125,156,190,198,203,206,208,209,210,223],[125,135,139,143,147,190,198,203,206,208,209,210,223],[125,137,143,171,190,198,203,206,208,209,210,223,232,247,250],[125,190,198,203,206,208,209,210,223,282,288],[116,125,190,198,203,206,208,209,210,223],[115,125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,291],[125,190,198,203,206,208,209,210,223,281,282,288],[109,125,190,198,203,206,208,209,210,223,282,289,290,291,292],[109,125,190,198,203,206,208,209,210,223,289,293],[115,125,190,198,203,206,208,209,210,223,283,284],[115,125,190,195,198,203,206,208,209,210,215,223,282,284,285],[125,190,198,203,206,208,209,210,223,283],[125,190,198,203,206,208,209,210,223,284,285,286,287],[125,190,198,203,206,208,209,210,223,283,284],[110,121,125,190,198,203,206,208,209,210,223],[110,116,120,121,122,123,125,190,198,203,206,208,209,210,223,265,266],[122,123,125,190,198,203,206,208,209,210,223,264],[107,125,190,198,203,206,208,209,210,223],[107,109,125,190,198,203,206,208,209,210,215,223,296,297,299,300],[125,190,198,203,206,208,209,210,223,282,283,289,290,291,292,293,295,296,299,309,311],[125,190,198,203,206,208,209,210,223,310,311],[107,109,110,125,190,191,198,203,206,208,209,210,214,215,223,241,267,288,289,294,299,300,301,310],[125,190,195,198,203,206,208,209,210,223,270,271,280,282],[117,118,119,125,190,198,203,206,208,209,210,223,266,267,281,288],[125,190,198,203,206,208,209,210,223,282,288,296,298],[107,109,110,125,190,198,203,206,208,209,210,215,223,267,288,289,294,295,299,300,301,307,308],[125,190,198,203,206,208,209,210,223,290,303],[125,190,198,203,206,208,209,210,223,304],[125,190,198,203,206,208,209,210,223,302,305,306],[107,125,190,198,203,206,208,209,210,223,295,307],[125,190,198,203,206,208,209,210,223,305]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"d52ed68e7eb5881768a55713c9b5c7c443e6b46de15c04e348928b8efd20b110","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"7719a661a691dcf1a84eed5581eb223494502f579aa1e2425178b6f20ec8fcd0","impliedFormat":1},{"version":"4c51e36c9004c2d14a0bba49beb91630da51b15a0c41f91b2b076038126a5806","impliedFormat":1},{"version":"aca6ac8bf8de795cf3b67d450592d0f36356a3dcd0fb6425ac52c910aeb98ce4","impliedFormat":1},{"version":"f6feef58f3338b06119e40473c60553cbd5c75d74545d0aa3522374b6405720a","impliedFormat":1},{"version":"af6e515790bebd2d99ab46c08a3570f9fd74cd8542a4ecd2ca54fc7356680d24","impliedFormat":1},{"version":"5c5d0c9af035f7c920ef604080a6eef0a76cb4067ab4747ad2dc07026bfbfb48","impliedFormat":1},{"version":"6c27d4b5ba01295ef334456d9af4366aca789f228eee70fcb874b903a59b0e5b","impliedFormat":1},{"version":"93aa15a50eb71c40884e6f9b290eba6fb99d602706d21f8facf95c3bb8669abb","impliedFormat":1},{"version":"78ae308b449f2a861b1b1fbdd4aa0ba371c5e9e66aed2c2acf3b851785e652a4","impliedFormat":1},{"version":"d9e5cffcb3a6159f0a1e6fc1ad13abfe496a86cb82e0f59a82c926f8dad9d869","impliedFormat":1},{"version":"4485b7cd73d47ac60ff0a67f9c94f8b600c4d9665a27b268dd623baccc95c4eb","impliedFormat":1},{"version":"3800c5ce959fa102827db5cb875a461a05d43688ef4d85b76855c968a1573830","impliedFormat":1},{"version":"98c771706beebbe0f3720bb0a582b82e7c98cf62da175b8074cabecef2692546","impliedFormat":1},{"version":"9b1b01c85fe22541212ba4fa627d7f2059fa8af782ad6a899c43e9f4ceae4d0a","impliedFormat":1},{"version":"590595c1230ebb7c43ebac51b2b2da956a719b213355b4358e2a6b16a8b5936c","impliedFormat":1},{"version":"8c5f0739f00f89f89b03a1fe6658c6d78000d7ebd7f556f0f8d6908fa679de35","impliedFormat":1},"7427c56ad284f0a61481dac8b11e66b3282aac3674ed9c7bcd91760566157867","6a4c287c863003342a42d8bf876c7df4c2e82e95f556af5ade71f05255845200","272e7bc3a3734cc9e7419625f04cff7095131e315e51a83fa992a5134763df49","b9f2341c8b486561706db362b6f89ee6b149ef08fb4fa6aaea1041bce04fe1c5","3952955b5e83c1164fc78d7d54377fd4d09d2c11b79763cba53a7ff4b27a0601","48d0d0bebe2ccfd875953713d746fe4adae81b1e3a91ffafae29ead23fd5c39b",{"version":"17ed1b2c9dd69f94e1a977d96890c383f112ce1993df4c03eabd49418ea4033a","signature":"1d81abf2d4af00b47cc1c90a593df8bc20973a6f10f876ba2edf4472c92916e7"},{"version":"e50757614c24c77f3b0d9a6d1f5dc43d7bc94fcab901aac19ebfb70a090687b6","signature":"d5a0eccefdb38d9b0ae85975882356b139b5ff945800644aca4d4625ea6c02a5"},{"version":"cc8cbe5bd9904c3dacef70927c1ea76e45848a948400e88ad9b5eaf638408583","signature":"5cb1fc4c5698dc71e64f17b2fcaee2bee90307dcf0a8c2a44a5cbd7d0fac5413"},{"version":"a743c1554152f00200d77542d0a37ab1b2b36fd9281aaa260770d09ca4482b45","signature":"c590ac32820b7afb6dce1b9e8b8d37408ab1967f756e1ef7a989f930c184c3d9"},{"version":"76596c58da9b3ec9669154b9aab3c015dd1f2c3a9fb42422c21293bac8a693c8","signature":"93fed7f494e689ff198a654fe4cace52bc84427a05b826cdcb5aca6b03d88e07"},{"version":"fed82d3ea110e523349def3b954fcae7df438ec5895179405e6edb763273c6de","signature":"1c3e333dafced9c79c077ce18d0aa60c7b6aa61e25a1ec031eb2c2bbb6d0fa4c"},{"version":"c383d81ef5b6823445274ba41a543356033c6e2f9e038b1957b7a22ff7dacafa","signature":"a6d2ce012a3fe324ef167e7b8f339c2579a0fec5f137eb8c7027baf6987558c9"},{"version":"97de9e20711004c6f771e29b37b7e66dc2810c7ed21dff371ff27d2e1688f197","signature":"c318bd5c2b2ab237dac0e9173d410b4b488ce28ad2be3dad2ee8d3e99d1ec7ec"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"3ac40516c33b87f751f7507346933081a26cdb8a3e11a6b3aa07d23f803c85db","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"829bc57ee8f287b490ab5bbc5a962fca57e432c1e38ec680ecd3ecaf12800613","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"3a3ff14da53d5013f3e6d8c4ad55225e3649c08786c4421ce639c00d8d589b7d","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"d243db6b25788f439e7e2f03c05688e92f46764351673bb0e7b2f3631232e186","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"9ac977503f15bf13ca7c82ad9a32a782f42d43e474824e8b3bffe228fd5f2639","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"7cb4f431a4591b0e23002bed805dc871a874dfed6b9a3994dce68a6df73e6739","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"2e6fca0024dd8a076a886d9ec031a936ea59ad878a25b944820495d92f8381dd","affectsGlobalScope":true,"impliedFormat":1},{"version":"177459cba484e2f1e08872a3d2fdbca3162d9d43ca5ec9dc0c946835b55f74be","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"0e312260895afc9de021ce9de3c8a857392f0ccc7f19d3a030e4d6136a4ac91e","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"98fc7231d6c846a8ed19bdef026ddffe5e2182cc818be74899287421ad370a87","impliedFormat":1},{"version":"3a40b5d34e014017539acb92f04cf2bc0aa71e49efb33c66039df93be97842a1","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"79a85c64bf083c5f4dd7074e804d1000c0c47301b84d48417a224decd681be30","impliedFormat":1},{"version":"9f1e3a76d5f509b5579e567de522b402cb79e201c4f47dcd014451c0580b290d","impliedFormat":1},{"version":"2ddab5b6932f9a6327f71baeb82a1d6b0824e0d23a4c7a5de5d355857113c22f","impliedFormat":1},{"version":"70f3f8b2dcaf7388f26731a59c79437813e3620b594903525a303cb2a7901016","impliedFormat":1},{"version":"62e8f884c3bc6dff6189b6e662ebe8b238a645938f2df7a97b8a82fca56773a4","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"57a0d1b3d59063d4af2d3f8aac27cfe3c20a0f5d1faf0f8598ccf0b779637939","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"93ecf87143cac7b9d05cffc1d6bdc075b7e4fdd48ff05f1fad85043f6ae678d3","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"6f200afcb82b3e9a54bed6db23f2edf2508cd266801257312c0f124b47f2bdb9","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"39338f84e8c4d0e3de7b3c4a7024fb3925f42100eed5cbe73be58902799dff4d","impliedFormat":1},{"version":"fbf83eb33bf5e329527add92acc65da59323876c702ddccf5f4bf1e848c92369","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"515318bc6e656f75e9e34db625316bfafbafd800dfb1642574af93735a24ad38","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"03b7804d69cecd66850abada858ed6d4a59001f8c228a9fe212306ee860a4ff6","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"987fd1f85dc36f4b2c927aa3db814ac6b452e970f4f55d24ed4ecbb7df09be00","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"b4769767f13a1692a66186e01c3aa186ff808d5ff72ed36eda8c37738fb2ac92","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"683edfc4f2b411ebe04729cb6dc09ddd26fbac2c57771a6d7c55964af776e176","impliedFormat":1},{"version":"1ec3f3a5f04cc42df33274fbe5c0937d9a9e06f249a7a26288d7d54f0763ffd4","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"e47f532d6e1617833f13a5b0710c0089d402c89c2f2b54f324e5a20e418d287a","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"82c3cc48c692438e41b94d936b8acd75ca97b18c50fa1af8a0715eb9d07d18cd","impliedFormat":1},{"version":"045a210189ec63c5488410b33f9fca53d77d051599d0d6506d8048551399c5f3","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"632c45ccb4cdc2c3a80c7a36a63dd7763016e59cac5e07bfb3e37e3548957028","impliedFormat":1},{"version":"c9a2daf6cd1eb854cd5b9e424247c5e306692055738c2effd35f7871d942b76e","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"e50a7130339a951e6da9e968ed5521b0997a5b0479e148914087213839b5474c","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"4192ff616e838c06d10db071fbd3628f798bf7f279b84759cbc6a9c4f4c94dfb","impliedFormat":1},{"version":"b61028c5e29a0691e91a03fa2c4501ea7ed27f8fa536286dc2887a39a38b6c44","impliedFormat":1},{"version":"a4bf154e0f9d56112713c3a7d2d60c85d667cae17e69f7869a32578881b652a8","impliedFormat":1},{"version":"d5f65e3a5277cbd0b2c89da26703c5879cc428da7ca816d1d1fcdfd7c0a2500e","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"51d4fca2239d818a6254ba46be06e4def3be685ec034e9255cba403d3b27a07c","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"859cf43771b68e589bb12c6e5cde3edcde4b530c7d324f455af2b9e61d4f4768","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"ba2e5b6da441b8cf9baddc30520c59dc3ab47ad3674f6cb51f64e7e1f662df12","impliedFormat":1},{"version":"fefd77e646c5e5e59cd1be3e3a0a9bf7e4f4e408483cc6139d742130f205f97a","signature":"6569281b678977214d8f4a6e343449fd6093f8b068d8aec99ac0ec4be2b27080"},{"version":"28535ae92479a1bead22fc9d16f2c9cb7eee6b63610e6b7d59a53ace4e96eaa3","signature":"aaada990646de4a4b933f7779577f712d8bbb90e51a07fa6c775aa939b760cba"},{"version":"42ccc8d3d0168b59fccbf70c0b610c5aaba17b3e8b48d1eca5df16a60244b653","signature":"e0cb9987a908a42e7fdbc379c59ec328639618a13ea88be65d5b7698360defaf"},{"version":"5d01f288556ba56b803dfbd9b207502aaaa831afddd9e71b2b5ce250dc395152","impliedFormat":99},{"version":"7b9d4f3cc667e8896241f6c95d2824ced607ce7f2858cedf04058ddd23287602","impliedFormat":99},{"version":"371e624178bb67607b2c63e1f8ec3e5d9585455b39bac8f0816eba540072383f","impliedFormat":99},{"version":"c468447508a5ca66c0a2523ed935cf5cb1d768d890c991e20397df618db741d1","impliedFormat":99},{"version":"b8c741cb7cd15e89b24af6c25b6d95a581b2d79f7c0d959552220743f7269c7f","impliedFormat":99},{"version":"1b65eaf896a59cf1904bae76e68bc64941671555a3b1ee4190bcd6d3b16d5b61","impliedFormat":99},{"version":"2cea0605228c4357d9f57b6d13fd607752579a0a70995ccf70179110b098435b","impliedFormat":99},{"version":"edc4a14bf998e6512257766b4f291c940b5e88fe8bea8aec0c499e2e41da1d34","impliedFormat":99},{"version":"74853f56c2d22c7794408839dc106c4c412818fbd2e855b1d7dc4a70447f8387","impliedFormat":99},{"version":"61d04e1fb8987919928a5c4982fe4b32ec4147bd39491b4da9720bb518fd77ce","impliedFormat":99},{"version":"c1d730d8774ef9d198a2f8ecedd6806b1efd9e00a502ba7e28969f5a2c550ae1","impliedFormat":99},{"version":"9155fc738cfdd9a8dbeb7a9657998407101fc278c1649d8bb24b24b4fc7e5ad4","impliedFormat":99},{"version":"aa9a3b2c5d46f501a49ebde65cbdd59a7c05122f4f15785467bc30b6d8956751","impliedFormat":99},{"version":"b9eb3a236acf7eac683fc3d9ab8e627d5b9c96f900d25fb9948db513b6d372d4","signature":"ca82ed5bd0e6a6a2ee805fb8ff9f76022342ab3a4830687792b225105117f1d2"},{"version":"914b59b2f85658732c9b8738d9192da4add017c84e08ed9ca2df0545ed092eea","signature":"914b55a462408dd85c771a10b6981a06a582753fb8ede0b9d3ee8255f8c134e7"},{"version":"ec8ca603dd6b8e963e473b6dc5a29e974f8bf476c5a02c4ba8b818273fc274c7","signature":"16f83be6917e40d274663129464b0ff536a82badf5d6dd6b63621a3fcbef3a52"},{"version":"0a8029dc27a383d6078b5cbc70263877566164ec731a8aef712c3d31ab9e10ae","signature":"fd16e281a88d7f188c066f0a4b765cc3daaa6b94aaf61015c668021dc618a8c9"},{"version":"2f125f2963183677d731b2c16d13a59b441b1accf25b15164316b95fce86db81","signature":"7d81fa2c747ede1d7353d14e46a294f8067e3185ab52990748133eb1ecbb8e95"},{"version":"f4e420058e14ab6f3b4e7952a4db453995249baa71bfe90ee39a0b747f7c8497","signature":"33b4d9939d258fe23886bdb50057afecc3e0644b27e9117ab794ad4af7f419cd"},{"version":"396bdd79dd0ddace0329e0f155c61f3f4f6571350dc2db66fd23076cc0df17f2","signature":"d3421d1c910ed6b9b3b40e81be3f1099176bb7e4d7577c59fc6328cc0af67f6e"},{"version":"7a348d795b245410f8fc22456c9679d798dee0d67f94b4b5e24f839bc7747868","signature":"747cf7fbc97027491d1419c2d3c1e599f6ca806b490147fb09c412a574057495"},{"version":"5a0809ccc03a8835caddfcccec07afecda734877a478c087141458f0df9edfc9","signature":"954496a4abdbf18ad54d15ef7482301b2dccec5144a6b44aec42983f63b22ec4"},{"version":"d8092d647207303f352e2e2deb9a2923d83e1711e19ff150e0788aea5168c7d5","signature":"0640afefa828d574be4b51943041822e739b18a7eeb65ee316908a576dc96806"},{"version":"c7682a515c2020870948f1dfa42fe5852614b4b188870056a736c2f34588bad9","signature":"a6d795d9d6803cbde86e2a30c4ddde6a90ba347a93211e88aa342e914153f832"},{"version":"013a1649e98404562b1b378d8800a20ebffd0035a10ffee4201954742bba3143","signature":"e62ba68263ee74daa6727e0741273f73bbd8c51d055452404cfcbee6e1a727c9"},{"version":"d0f1816e2aeff2fb826592d224769969113033bb99861d192ca7a2d3883227ec","signature":"b7a2a3cc0a5c07d1fe6ce60943a491b44872e3f1e99a96dc28c6384e4b040e97"},{"version":"f94c59f47201178c34d4401559fef7c9c0ebeb75bf26426f1d09a962b7a9b339","signature":"7df91913922a7e6e3fe90aeff301971de5c0c7809d7e373e301d9e59d48811c6"},{"version":"55c44a8b71a85737b62cbed1ab8812bfa64be4a9fe0ce9f396c238d431271740","signature":"18363e751472a5f649e32d5f9603251d045a3b9b266334625e2ec59c1ccf317f"},{"version":"68e1c894bee4c9c1924aa53eb809df81b686dde38124e0d27d172a0630bfc293","signature":"d8746f554d940f6522ec6ede961ef38d31a0947100d8f834db7a64f93cef6dd2"},{"version":"ca2e8a22cada8ffa630d8e58af373a74fcf4d847fab5d0a3ce23e3301984a3bd","signature":"623a11bcaa7716d2f7bf0272c80a5a2fdafea82333c1ed23664ea8132f890d1c"},{"version":"4947191b6aaf6b7f2ba52af719480b0a8fd748919db2c29c9f46182f6f5963f1","signature":"59be9348946adc746a9ee5b7c03c1f293ba60d7a6646f45c76fa962207de2f01"},{"version":"474d44fccaf2bfaed24f180fcb4b0480b95655042bb88c3f826b4ec07956713f","signature":"1269505d024fe59653f1789b7897073cdb4d29dc99093a1921849c99a30b4080"},{"version":"630f0200962a9442c01f4d89376ff577b1a3782f9f8aba0a961053f61185e228","signature":"b46fbaff85ea35cfe2ef8dca455fc85394e2e8be592feb827152cfedc57e0262"},{"version":"4df1b82a6fab71ffad04aa6db995f980cd982f4c8041664550e4b5464dfa2b2e","signature":"c3ef56f121f2679b3f337ed0ca1dc33c25ebe1bee45a2cfa510c879b8b12a14c"},{"version":"210c03de7f9383a532c888d7da80563c8f80ace5a75f54363628dc8f86b7483d","signature":"d92db3dfcef7481ade8af11dae97f83c3d117aeb3221ac4430464406621d9df4"},{"version":"fa103472d20ae90bc62a38e7e180f63fab8d2b26a84f78ff0009002b7ba7b13d","signature":"fe513e9f038509da759da21aa2f87e2869b2c7f47d4948be79ed8dbdb499cb3a"},{"version":"54317971c93886ae1f92a5d71a6ab5afd578e9b427e71bc402d1ae5ae8ac9811","signature":"c90b7865ea1c875c18af5fb7a8b44974bcf2df746224a00f5931ff9274f6e7f3"},{"version":"4e30ada63fd58fb32bcd499677413534cfd0d8d16663c4ad94ff146e61d0805d","signature":"c65cac17de5d5e7eee19bf8e2a3b8d052418cda60c7a7eae338c89d7473fef4f"},{"version":"9ac428b0b35ab4080066ef9ef7db3843866f4442eacd4c3cdce84b01339fe303","signature":"4d7010f00467d1993bc6d5292f69462bdbb2abfc0d5cf71fb5f3e0d9605c2215"},{"version":"a7f8f2fb3844e56a8903b50262aaa3203385a2427827ac4db49ce3d0ad66b0de","signature":"d86a3a626c15cb0730cc2c7dfecd3f9f6483d04c395ee1561e49b05856421304"},{"version":"e9670f79c5b3a4e9530a77f147db2c9a97851835f9116a58112af5ff5a1e0b7f","signature":"f8b66106cc7dc5ed954a28d056fc243acda8bbdc5e1999141dd35f34e97fa245"},{"version":"e2a93aef6b1814a41816f65389743134ed751fbc1121d619f9a5b63d06da5e16","signature":"a81afccd5831e390cd504701da7288714e795151e1df630b5281ccf3774c969b"},{"version":"45388419360a08931649691c09e74d24febaa94e9d389b87826d4c2c21086554","signature":"9a8ba8f4f4be98077c4b7734ee7b805f374fcd71850d77ae6e9cd15b91b6f4bc"},{"version":"9f511624ad1e73a35fad0c9890370acaae633c67c3e360192208ad6e464e683a","signature":"d239ddd36ff2760f669f87809db8aca94a749344f3e171a5d1ef122468a9ccc3"},{"version":"5159671b722465235f52db303d34bf6150e45bd69be8473e0a98cfc65d6355f5","signature":"40620ec486318d369901a2266445d8180a85d083c3a2f813fd4dc82767bd4425"},{"version":"d8975b20a67928f91f6bdc97c0256e137df392b57abbc7e0b44632bd5e63d224","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[116,123],[265,267],[281,313]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"rootDir":"../../src/devserver","skipLibCheck":true,"sourceMap":false,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"suppressImplicitAnyIndexErrors":false,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[111,1],[112,2],[113,1],[115,3],[114,1],[110,1],[106,4],[99,5],[97,6],[103,7],[102,1],[105,8],[95,8],[98,9],[96,10],[104,11],[101,12],[107,13],[270,14],[271,14],[269,15],[94,1],[274,16],[275,17],[277,18],[276,17],[273,19],[278,20],[279,21],[280,22],[272,15],[268,1],[187,23],[188,23],[189,24],[125,25],[190,26],[191,27],[192,28],[193,29],[194,30],[195,31],[196,32],[197,33],[198,34],[199,34],[200,35],[201,36],[202,1],[203,37],[204,38],[126,1],[124,1],[205,39],[206,40],[207,41],[250,42],[208,8],[209,43],[210,8],[211,44],[212,45],[214,46],[215,47],[216,47],[217,47],[218,48],[219,49],[220,50],[221,51],[222,52],[223,53],[224,53],[225,54],[226,1],[227,1],[228,55],[229,56],[230,57],[231,58],[232,59],[233,60],[234,61],[235,62],[236,63],[237,64],[238,65],[239,66],[240,67],[241,68],[242,69],[243,70],[244,71],[245,72],[246,73],[127,8],[128,1],[129,74],[130,75],[131,1],[132,76],[133,1],[178,77],[179,78],[180,79],[181,79],[182,80],[183,1],[184,26],[185,81],[186,78],[247,82],[248,83],[249,84],[264,85],[251,86],[258,87],[254,88],[252,89],[255,90],[259,91],[260,87],[257,92],[256,93],[261,94],[262,95],[263,96],[253,97],[213,1],[109,98],[108,1],[100,1],[92,1],[93,1],[16,1],[14,1],[15,1],[21,1],[20,1],[2,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[29,1],[3,1],[30,1],[31,1],[4,1],[32,1],[36,1],[33,1],[34,1],[35,1],[37,1],[38,1],[39,1],[5,1],[40,1],[41,1],[42,1],[43,1],[6,1],[47,1],[44,1],[45,1],[46,1],[48,1],[7,1],[49,1],[54,1],[55,1],[50,1],[51,1],[52,1],[53,1],[8,1],[59,1],[56,1],[57,1],[58,1],[60,1],[9,1],[61,1],[62,1],[63,1],[65,1],[64,1],[66,1],[67,1],[10,1],[68,1],[69,1],[70,1],[11,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[12,1],[77,1],[78,1],[79,1],[80,1],[81,1],[1,1],[82,1],[83,1],[13,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[19,1],[17,1],[18,1],[152,99],[166,100],[149,101],[167,9],[176,102],[140,103],[141,104],[139,105],[175,106],[170,107],[174,108],[143,109],[153,110],[163,111],[142,112],[173,113],[137,114],[138,107],[144,110],[145,1],[151,115],[148,110],[135,116],[177,117],[168,118],[156,119],[155,110],[157,120],[160,121],[154,122],[158,123],[171,106],[146,124],[147,125],[161,126],[136,9],[165,127],[164,110],[150,125],[159,128],[162,129],[169,1],[134,1],[172,130],[119,131],[116,47],[117,132],[118,1],[291,133],[292,134],[289,135],[293,136],[294,137],[285,138],[286,139],[287,140],[288,141],[298,142],[284,1],[120,1],[122,143],[267,144],[265,145],[123,1],[121,1],[266,1],[297,1],[296,1],[295,146],[301,147],[312,148],[310,1],[313,149],[311,150],[281,151],[282,152],[299,153],[309,154],[300,1],[302,133],[303,135],[304,155],[305,156],[307,157],[308,158],[306,159],[283,1],[290,133]],"version":"6.0.3"}
@@ -1,46 +1,104 @@
1
+ const FRAME_VERSION = 2;
2
+ const METRIC_COUNTERS = 41;
3
+ const MID = {
4
+ Requests: 0,
5
+ BytesOutL1: 1,
6
+ BytesInL1: 2,
7
+ Status2xx: 3,
8
+ Status4xx: 5,
9
+ StaticHits: 7,
10
+ WasmDispatches: 8,
11
+ GasUsed: 12,
12
+ DbOps: 13,
13
+ DbReads: 14,
14
+ DbWrites: 15,
15
+ StreamBytesIn: 25,
16
+ StreamBytesOut: 26,
17
+ MemGrownBytes: 39,
18
+ };
1
19
  function devStats() {
20
+ const life = new Array(METRIC_COUNTERS).fill(0n);
21
+ life[MID.Requests] = 42n;
22
+ life[MID.BytesOutL1] = 12345n;
23
+ life[MID.BytesInL1] = 4096n;
24
+ life[MID.Status2xx] = 40n;
25
+ life[MID.Status4xx] = 2n;
26
+ life[MID.StaticHits] = 8n;
27
+ life[MID.WasmDispatches] = 34n;
28
+ life[MID.GasUsed] = 1000000n;
29
+ life[MID.DbOps] = 17n;
30
+ life[MID.DbReads] = 12n;
31
+ life[MID.DbWrites] = 5n;
32
+ life[MID.StreamBytesIn] = 2048n;
33
+ life[MID.StreamBytesOut] = 8192n;
34
+ life[MID.MemGrownBytes] = 262144n;
2
35
  return {
3
- lifetime: [
4
- ['requests', 42],
5
- ['bytes_served', 12345],
6
- ['status_2xx', 40],
7
- ['status_3xx', 0],
8
- ['status_4xx', 2],
9
- ['status_5xx', 0],
10
- ['static_hits', 8],
11
- ['wasm_dispatches', 34],
12
- ['db_ops', 17],
13
- ['db_reads', 12],
14
- ['db_writes', 5],
15
- ['db_errors', 0],
16
- ],
36
+ life,
37
+ connectedStreams: 3,
38
+ committedMemory: 65536,
17
39
  reqMinuteUsed: 5,
18
40
  reqMinuteCap: 100,
19
41
  reqDayUsed: 42,
20
42
  reqDayCap: 5000,
43
+ nowMs: 1_700_000_000_000,
21
44
  };
22
45
  }
23
46
  function encodeStats(s) {
24
- const parts = [];
25
- const head = Buffer.alloc(6);
26
- head.writeUInt16LE(1, 0);
27
- head.writeUInt32LE(s.lifetime.length, 2);
28
- parts.push(head);
29
- for (const [name, value] of s.lifetime) {
30
- const nb = Buffer.from(name, 'utf8');
31
- const nl = Buffer.alloc(4);
32
- nl.writeUInt32LE(nb.length, 0);
33
- const vb = Buffer.alloc(8);
34
- vb.writeBigInt64LE(BigInt(value), 0);
35
- parts.push(nl, nb, vb);
47
+ const head = Buffer.alloc(2 + 8 + 4);
48
+ head.writeUInt16LE(FRAME_VERSION, 0);
49
+ head.writeBigUInt64LE(BigInt(s.nowMs), 2);
50
+ head.writeUInt32LE(s.life.length, 10);
51
+ const body = Buffer.alloc(s.life.length * 8 + 48);
52
+ let o = 0;
53
+ for (const v of s.life) {
54
+ body.writeBigInt64LE(v, o);
55
+ o += 8;
36
56
  }
37
- const tail = Buffer.alloc(32);
38
- tail.writeBigInt64LE(BigInt(s.reqMinuteUsed), 0);
39
- tail.writeBigUInt64LE(BigInt(s.reqMinuteCap), 8);
40
- tail.writeBigInt64LE(BigInt(s.reqDayUsed), 16);
41
- tail.writeBigUInt64LE(BigInt(s.reqDayCap), 24);
42
- parts.push(tail);
43
- return Buffer.concat(parts);
57
+ body.writeBigInt64LE(BigInt(s.connectedStreams), o);
58
+ o += 8;
59
+ body.writeBigInt64LE(BigInt(s.committedMemory), o);
60
+ o += 8;
61
+ body.writeBigInt64LE(BigInt(s.reqMinuteUsed), o);
62
+ o += 8;
63
+ body.writeBigUInt64LE(BigInt(s.reqMinuteCap), o);
64
+ o += 8;
65
+ body.writeBigInt64LE(BigInt(s.reqDayUsed), o);
66
+ o += 8;
67
+ body.writeBigUInt64LE(BigInt(s.reqDayCap), o);
68
+ return Buffer.concat([head, body]);
69
+ }
70
+ const MINUTE_RING_METRICS = new Set([0, 2, 1, 25, 26, 12, 13, 39, 41, 43]);
71
+ function rangeShape(range, metricId) {
72
+ const isMinute = (range === 0 || range === 1) && MINUTE_RING_METRICS.has(metricId);
73
+ if (isMinute)
74
+ return range === 0 ? { count: 60, bucketSecs: 60 } : { count: 360, bucketSecs: 60 };
75
+ switch (range) {
76
+ case 0: return { count: 1, bucketSecs: 3600 };
77
+ case 1: return { count: 6, bucketSecs: 3600 };
78
+ case 2: return { count: 12, bucketSecs: 3600 };
79
+ case 3: return { count: 24, bucketSecs: 3600 };
80
+ case 4: return { count: 72, bucketSecs: 3600 };
81
+ case 5: return { count: 168, bucketSecs: 3600 };
82
+ case 6: return { count: 336, bucketSecs: 3600 };
83
+ case 7: return { count: 720, bucketSecs: 3600 };
84
+ default: return { count: 24, bucketSecs: 3600 };
85
+ }
86
+ }
87
+ function encodeSeries(metricId, range) {
88
+ const { count, bucketSecs } = rangeShape(range, metricId);
89
+ const nowMs = 1_700_000_000_000;
90
+ const head = Buffer.alloc(2 + 2 + 4 + 8 + 4);
91
+ head.writeUInt16LE(FRAME_VERSION, 0);
92
+ head.writeUInt16LE(metricId & 0xffff, 2);
93
+ head.writeUInt32LE(bucketSecs, 4);
94
+ head.writeBigUInt64LE(BigInt(nowMs), 8);
95
+ head.writeUInt32LE(count, 16);
96
+ const body = Buffer.alloc(count * 8);
97
+ for (let i = 0; i < count; i++) {
98
+ const v = BigInt(((i * 7 + metricId) % 50) + i);
99
+ body.writeBigInt64LE(v, i * 8);
100
+ }
101
+ return Buffer.concat([head, body]);
44
102
  }
45
103
  function encodeSiteList(names, hasMore) {
46
104
  const parts = [];
@@ -78,6 +136,24 @@ export function buildAnalyticsImports(ref, db) {
78
136
  db.lastResultVersion = -1;
79
137
  return frame.length;
80
138
  },
139
+ analytics_series: (domainPtr, domainLen, metricId, range) => {
140
+ if (domainLen > MAX_DOMAIN_LEN)
141
+ return ABSENT;
142
+ if (metricId < 0 || metricId > 44 || range < 0 || range > 7)
143
+ return ABSENT;
144
+ if (domainLen > 0) {
145
+ if (!ref.memory)
146
+ throw new Error('analytics_series called before memory was bound');
147
+ const m = Buffer.from(ref.memory.buffer);
148
+ if (domainPtr < 0 || domainPtr + domainLen > m.length) {
149
+ throw new Error('analytics_series: domain out of bounds');
150
+ }
151
+ }
152
+ const frame = encodeSeries(metricId, range);
153
+ db.lastResult = frame;
154
+ db.lastResultVersion = -1;
155
+ return frame.length;
156
+ },
81
157
  analytics_list_sites: (cursorPtr, cursorLen, limit) => {
82
158
  if (cursorLen > MAX_CURSOR_LEN)
83
159
  return ABSENT;
@@ -37,6 +37,7 @@ const PROVIDED_IMPORTS = new Set([
37
37
  'env_get',
38
38
  'env_get_secure',
39
39
  'analytics_read',
40
+ 'analytics_series',
40
41
  'analytics_list_sites',
41
42
  'crypto.fill_random',
42
43
  'crypto.random_uuid',
@@ -1,53 +1,181 @@
1
- // Demo of the per-domain Analytics API. `Server.REST.analytics.self()` is the real, typed
2
- // fetch client generated from the `@rest` controller in server/routes/Analytics.ts; the route
3
- // reads the toilscript `Analytics.self()` snapshot. Under `toiljs dev` the dev server returns
4
- // sample data; at the edge the same code reads the real metering.
5
- import { useState } from 'react';
1
+ // Demo of the per-domain Analytics API + the historical time-series (graphs).
2
+ //
3
+ // Server.REST.analytics.self() -> the current snapshot (typed getters)
4
+ // Server.REST.analytics.series({ query: { metric, range } }) -> a metric's history for a range
5
+ //
6
+ // Both are the real, typed fetch clients generated from the `@rest` controller in
7
+ // server/routes/Analytics.ts, which reads the toilscript `Analytics.self()` / `Analytics.series()` API.
8
+ // Under `toiljs dev` the dev server returns sample data; at the edge the SAME code reads the real
9
+ // metering rings. The chart is a self-contained inline SVG (no chart library).
10
+ import { useEffect, useState } from 'react';
6
11
 
7
- import { SiteAnalytics } from 'shared/server';
12
+ import { SeriesData, SiteAnalytics } from 'shared/server';
8
13
 
9
14
  export const metadata: Toil.Metadata = {
10
15
  title: 'Analytics',
11
- description: "This site's own analytics via the toilscript Analytics.self() API."
16
+ description: "This site's own analytics + historical graphs via the toilscript Analytics API."
12
17
  };
13
18
 
19
+ // MetricId (mirrors the server enum). Only the graph-worthy ones are listed for the picker.
20
+ const METRICS = [
21
+ { id: 0, label: 'Requests', unit: 'count' },
22
+ { id: 1, label: 'Bytes out (L1)', unit: 'bytes' },
23
+ { id: 2, label: 'Bytes in (L1)', unit: 'bytes' },
24
+ { id: 12, label: 'Gas used', unit: 'count' },
25
+ { id: 13, label: 'DB ops', unit: 'count' },
26
+ { id: 26, label: 'Stream bytes out', unit: 'bytes' },
27
+ { id: 39, label: 'Memory bandwidth', unit: 'bytes' },
28
+ { id: 41, label: 'Connected streams', unit: 'count' },
29
+ { id: 43, label: 'Committed memory', unit: 'bytes' }
30
+ ] as const;
31
+
32
+ // AnalyticsRange (mirrors the server enum).
33
+ const RANGES = [
34
+ { id: 0, label: '1h' },
35
+ { id: 1, label: '6h' },
36
+ { id: 3, label: '24h' },
37
+ { id: 5, label: '7d' },
38
+ { id: 7, label: '30d' }
39
+ ] as const;
40
+
41
+ type Unit = 'count' | 'bytes';
42
+
43
+ function fmt(n: number, unit: Unit): string {
44
+ if (unit === 'bytes') {
45
+ const u = ['B', 'KB', 'MB', 'GB'];
46
+ let i = 0;
47
+ while (n >= 1024 && i < u.length - 1) {
48
+ n /= 1024;
49
+ i++;
50
+ }
51
+ return `${n.toFixed(i === 0 ? 0 : 1)} ${u[i]}`;
52
+ }
53
+ return n >= 1000 ? `${(n / 1000).toFixed(1)}k` : String(Math.round(n));
54
+ }
55
+
56
+ /** A dependency-free SVG line chart of the per-second rate (value / bucketSecs). */
57
+ function LineChart({ points, bucketSecs, unit }: { points: number[]; bucketSecs: number; unit: Unit }) {
58
+ const W = 640;
59
+ const H = 220;
60
+ const pad = 40;
61
+ const rate = points.map((v) => (bucketSecs > 0 ? v / bucketSecs : 0));
62
+ const max = Math.max(1, ...rate);
63
+ const n = rate.length;
64
+ const x = (i: number) => pad + (n <= 1 ? 0 : (i / (n - 1)) * (W - 2 * pad));
65
+ const y = (v: number) => H - pad - (v / max) * (H - 2 * pad);
66
+ const line = rate.map((v, i) => `${i === 0 ? 'M' : 'L'}${x(i).toFixed(1)},${y(v).toFixed(1)}`).join(' ');
67
+ const area = `${line} L${x(n - 1).toFixed(1)},${H - pad} L${x(0).toFixed(1)},${H - pad} Z`;
68
+
69
+ return (
70
+ <svg
71
+ viewBox={`0 0 ${W} ${H}`}
72
+ width="100%"
73
+ role="img"
74
+ aria-label="time series chart"
75
+ style={{ maxWidth: W, background: '#0b0f19', borderRadius: 8 }}>
76
+ <line x1={pad} y1={H - pad} x2={W - pad} y2={H - pad} stroke="#33415580" />
77
+ <line x1={pad} y1={pad} x2={pad} y2={H - pad} stroke="#33415580" />
78
+ <text x={6} y={pad + 4} fill="#94a3b8" fontSize={11}>
79
+ {fmt(max, unit)}/s
80
+ </text>
81
+ <text x={6} y={H - pad} fill="#94a3b8" fontSize={11}>
82
+ 0
83
+ </text>
84
+ {n > 0 && <path d={area} fill="#38bdf822" />}
85
+ {n > 1 && <path d={line} fill="none" stroke="#38bdf8" strokeWidth={2} />}
86
+ {n === 1 && <circle cx={x(0)} cy={y(rate[0])} r={3} fill="#38bdf8" />}
87
+ </svg>
88
+ );
89
+ }
90
+
14
91
  export default function AnalyticsDemo() {
15
92
  const [stats, setStats] = useState<SiteAnalytics | null>(null);
93
+ const [series, setSeries] = useState<SeriesData | null>(null);
94
+ const [metric, setMetric] = useState(0);
95
+ const [range, setRange] = useState(3);
16
96
  const [err, setErr] = useState('');
17
97
 
18
- const load = async () => {
98
+ const loadStats = async () => {
19
99
  try {
20
- setStats(await Server.REST.analytics.self());
100
+ setStats(await Server.REST.analyticsRoutes.self());
21
101
  setErr('');
22
102
  } catch (e) {
23
103
  setErr(parseError(e));
24
104
  }
25
105
  };
26
106
 
107
+ // Refetch the graph whenever the metric or range changes.
108
+ useEffect(() => {
109
+ Server.REST.analyticsRoutes
110
+ .series({ query: { metric, range } })
111
+ .then(setSeries)
112
+ .catch((e: unknown) => setErr(parseError(e)));
113
+ }, [metric, range]);
114
+
27
115
  const cap = (used: bigint, max: bigint) => `${used} / ${max ? String(max) : '∞'}`;
116
+ const meta = METRICS.find((m) => m.id === metric) ?? METRICS[0];
117
+ const points = series ? series.points.map(Number) : [];
28
118
 
29
119
  return (
30
120
  <main>
31
121
  <h1>Analytics</h1>
32
122
  <p>
33
- <code>Server.REST.analytics.self()</code> reads this site's own analytics via the toilscript{' '}
34
- <code>Analytics.self()</code> API (the per-domain metering counters + plan limits). Under{' '}
35
- <code>toiljs dev</code> you get sample data; at the edge it is the real metering, with the same code.
123
+ <code>analytics.self()</code> reads this site's snapshot; <code>analytics.series(metric, range)</code>{' '}
124
+ reads the historical rings (30-day retention). Under <code>toiljs dev</code> you get sample data; at
125
+ the edge it is the real metering, same code.
36
126
  </p>
37
- <button onClick={load}>Load my site analytics</button>
38
- {err && <p>{err}</p>}
39
- {stats && (
40
- <ul>
41
- <li>requests: {String(stats.requests)}</li>
42
- <li>bytes served: {String(stats.bytesServed)}</li>
43
- <li>2xx responses: {String(stats.status2xx)}</li>
44
- <li>wasm dispatches: {String(stats.wasmDispatches)}</li>
45
- <li>db ops: {String(stats.dbOps)}</li>
46
- <li>requests this minute: {cap(stats.reqMinuteUsed, stats.reqMinuteCap)}</li>
47
- <li>requests today: {cap(stats.reqDayUsed, stats.reqDayCap)}</li>
48
- </ul>
49
- )}
50
- <p>
127
+
128
+ <section>
129
+ <h2>History</h2>
130
+ <div style={{ display: 'flex', gap: 12, alignItems: 'center', flexWrap: 'wrap', marginBottom: 8 }}>
131
+ <label>
132
+ Metric{' '}
133
+ <select value={metric} onChange={(e) => setMetric(Number(e.currentTarget.value))}>
134
+ {METRICS.map((m) => (
135
+ <option key={m.id} value={m.id}>
136
+ {m.label}
137
+ </option>
138
+ ))}
139
+ </select>
140
+ </label>
141
+ <label>
142
+ Range{' '}
143
+ <select value={range} onChange={(e) => setRange(Number(e.currentTarget.value))}>
144
+ {RANGES.map((r) => (
145
+ <option key={r.id} value={r.id}>
146
+ {r.label}
147
+ </option>
148
+ ))}
149
+ </select>
150
+ </label>
151
+ <span style={{ color: '#64748b' }}>
152
+ {series ? `${series.points.length} buckets · ${series.bucketSecs}s each` : ''}
153
+ </span>
154
+ </div>
155
+ <LineChart points={points} bucketSecs={series?.bucketSecs ?? 3600} unit={meta.unit} />
156
+ </section>
157
+
158
+ <section style={{ marginTop: 24 }}>
159
+ <h2>Snapshot</h2>
160
+ <button onClick={loadStats}>Load my site analytics</button>
161
+ {err && <p style={{ color: '#f87171' }}>{err}</p>}
162
+ {stats && (
163
+ <ul>
164
+ <li>requests: {String(stats.requests)}</li>
165
+ <li>bytes out (L1): {String(stats.bytesOutL1)}</li>
166
+ <li>bytes in (L1): {String(stats.bytesInL1)}</li>
167
+ <li>gas used: {String(stats.gasUsed)}</li>
168
+ <li>2xx responses: {String(stats.status2xx)}</li>
169
+ <li>db ops: {String(stats.dbOps)}</li>
170
+ <li>connected streams (live): {String(stats.connectedStreams)}</li>
171
+ <li>committed memory (live): {fmt(Number(stats.committedMemory), 'bytes')}</li>
172
+ <li>requests this minute: {cap(stats.reqMinuteUsed, stats.reqMinuteCap)}</li>
173
+ <li>requests today: {cap(stats.reqDayUsed, stats.reqDayCap)}</li>
174
+ </ul>
175
+ )}
176
+ </section>
177
+
178
+ <p style={{ marginTop: 24 }}>
51
179
  <Toil.Link href="/">Back home</Toil.Link>
52
180
  </p>
53
181
  </main>
@@ -3,12 +3,27 @@
3
3
  @data
4
4
  export class SiteAnalytics {
5
5
  requests: i64 = 0;
6
- bytesServed: i64 = 0;
6
+ bytesOutL1: i64 = 0;
7
+ bytesInL1: i64 = 0;
7
8
  status2xx: i64 = 0;
8
9
  wasmDispatches: i64 = 0;
9
10
  dbOps: i64 = 0;
11
+ gasUsed: i64 = 0;
12
+ connectedStreams: i64 = 0;
13
+ committedMemory: i64 = 0;
10
14
  reqMinuteUsed: i64 = 0;
11
15
  reqMinuteCap: i64 = 0;
12
16
  reqDayUsed: i64 = 0;
13
17
  reqDayCap: i64 = 0;
14
18
  }
19
+
20
+ /** One metric's historical time-series for a range, from `Analytics.series(metric, range)`: the raw
21
+ * per-bucket totals (oldest→newest) plus the bucket width + newest-bucket end, so the client can draw a
22
+ * graph and derive per-second rates. Demonstrates the typed series API. */
23
+ @data
24
+ export class SeriesData {
25
+ metric: i32 = 0;
26
+ bucketSecs: u32 = 0;
27
+ headMs: u64 = 0;
28
+ points: i64[] = [];
29
+ }
@@ -1,4 +1,6 @@
1
- import { SiteAnalytics } from '../models/SiteAnalytics';
1
+ import { RouteContext } from 'toiljs/server/runtime';
2
+
3
+ import { SeriesData, SiteAnalytics } from '../models/SiteAnalytics';
2
4
 
3
5
  /**
4
6
  * This site's own analytics, mounted at `/analytics`. On the client:
@@ -16,15 +18,38 @@ class AnalyticsRoutes {
16
18
  public self(): SiteAnalytics {
17
19
  const s = Analytics.self();
18
20
  const r = new SiteAnalytics();
19
- r.requests = s.lifetime.has('requests') ? s.lifetime.get('requests') : 0;
20
- r.bytesServed = s.lifetime.has('bytes_served') ? s.lifetime.get('bytes_served') : 0;
21
- r.status2xx = s.lifetime.has('status_2xx') ? s.lifetime.get('status_2xx') : 0;
22
- r.wasmDispatches = s.lifetime.has('wasm_dispatches') ? s.lifetime.get('wasm_dispatches') : 0;
23
- r.dbOps = s.lifetime.has('db_ops') ? s.lifetime.get('db_ops') : 0;
21
+ // Typed getters: no magic strings, no `.has()/.get()` map dance.
22
+ r.requests = s.requests;
23
+ r.bytesOutL1 = s.bytesOutL1;
24
+ r.bytesInL1 = s.bytesInL1;
25
+ r.status2xx = s.status2xx;
26
+ r.wasmDispatches = s.wasmDispatches;
27
+ r.dbOps = s.dbOps;
28
+ r.gasUsed = s.gasUsed;
29
+ r.connectedStreams = s.connectedStreams;
30
+ r.committedMemory = s.committedMemory;
24
31
  r.reqMinuteUsed = s.reqMinuteUsed;
25
32
  r.reqMinuteCap = <i64>s.reqMinuteCap;
26
33
  r.reqDayUsed = s.reqDayUsed;
27
34
  r.reqDayCap = <i64>s.reqDayCap;
28
35
  return r;
29
36
  }
37
+
38
+ /// Any metric's historical time-series for a range, for graphs:
39
+ /// `await Server.REST.analytics.series({ query: { metric: MetricId, range: AnalyticsRange } })`
40
+ /// `metric` is a `MetricId` (0..44), `range` an `AnalyticsRange` (0=1h .. 7=30d, default 24h). Returns
41
+ /// the per-bucket totals oldest→newest; the client derives rates (value / bucketSecs) and draws them.
42
+ @get('/series')
43
+ public series(ctx: RouteContext): SeriesData {
44
+ const metric = <MetricId>i32.parse(ctx.query('metric'));
45
+ const rangeStr = ctx.query('range');
46
+ const range = rangeStr.length > 0 ? <AnalyticsRange>i32.parse(rangeStr) : AnalyticsRange.H24;
47
+ const s = Analytics.series(metric, range);
48
+ const out = new SeriesData();
49
+ out.metric = s.metric;
50
+ out.bucketSecs = s.bucketSecs;
51
+ out.headMs = s.headMs;
52
+ out.points = s.points;
53
+ return out;
54
+ }
30
55
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "toiljs",
3
3
  "type": "module",
4
- "version": "0.0.84",
4
+ "version": "0.0.85",
5
5
  "author": "Dacely",
6
6
  "description": "The modern React framework: a file-based React frontend and a ToilScript-compiled WebAssembly backend.",
7
7
  "repository": {
@@ -14,66 +14,138 @@
14
14
  import type { DbDevState } from '../db/index.js';
15
15
  import type { MemoryRef } from '../runtime/host.js';
16
16
 
17
+ /** Frame version + counter count, kept in lockstep with the edge (`analytics.rs` / `metric_id.rs`). */
18
+ const FRAME_VERSION = 2;
19
+ const METRIC_COUNTERS = 41;
20
+ /** MetricId indices we seed with sample data (others default 0). Mirrors the wire contract. */
21
+ const MID = {
22
+ Requests: 0,
23
+ BytesOutL1: 1,
24
+ BytesInL1: 2,
25
+ Status2xx: 3,
26
+ Status4xx: 5,
27
+ StaticHits: 7,
28
+ WasmDispatches: 8,
29
+ GasUsed: 12,
30
+ DbOps: 13,
31
+ DbReads: 14,
32
+ DbWrites: 15,
33
+ StreamBytesIn: 25,
34
+ StreamBytesOut: 26,
35
+ MemGrownBytes: 39,
36
+ } as const;
37
+
17
38
  interface DevTenantStats {
18
- lifetime: [string, number][];
39
+ life: bigint[]; // length METRIC_COUNTERS, indexed by MetricId
40
+ connectedStreams: number;
41
+ committedMemory: number;
19
42
  reqMinuteUsed: number;
20
43
  reqMinuteCap: number;
21
44
  reqDayUsed: number;
22
45
  reqDayCap: number;
46
+ nowMs: number;
23
47
  }
24
48
 
25
49
  /** A plausible sample so a guest sees non-zero analytics under `toiljs dev`. */
26
50
  function devStats(): DevTenantStats {
51
+ const life = new Array<bigint>(METRIC_COUNTERS).fill(0n);
52
+ life[MID.Requests] = 42n;
53
+ life[MID.BytesOutL1] = 12345n;
54
+ life[MID.BytesInL1] = 4096n;
55
+ life[MID.Status2xx] = 40n;
56
+ life[MID.Status4xx] = 2n;
57
+ life[MID.StaticHits] = 8n;
58
+ life[MID.WasmDispatches] = 34n;
59
+ life[MID.GasUsed] = 1_000_000n;
60
+ life[MID.DbOps] = 17n;
61
+ life[MID.DbReads] = 12n;
62
+ life[MID.DbWrites] = 5n;
63
+ life[MID.StreamBytesIn] = 2048n;
64
+ life[MID.StreamBytesOut] = 8192n;
65
+ life[MID.MemGrownBytes] = 262144n;
27
66
  return {
28
- lifetime: [
29
- ['requests', 42],
30
- ['bytes_served', 12345],
31
- ['status_2xx', 40],
32
- ['status_3xx', 0],
33
- ['status_4xx', 2],
34
- ['status_5xx', 0],
35
- ['static_hits', 8],
36
- ['wasm_dispatches', 34],
37
- ['db_ops', 17],
38
- ['db_reads', 12],
39
- ['db_writes', 5],
40
- ['db_errors', 0],
41
- ],
67
+ life,
68
+ connectedStreams: 3,
69
+ committedMemory: 65536,
42
70
  reqMinuteUsed: 5,
43
71
  reqMinuteCap: 100,
44
72
  reqDayUsed: 42,
45
73
  reqDayCap: 5000,
74
+ nowMs: 1_700_000_000_000,
46
75
  };
47
76
  }
48
77
 
49
78
  /**
50
- * Encode the versioned little-endian frame BYTE-FOR-BYTE like the edge encoder
51
- * (analytics.rs `encode_stats`) so the toilscript `DataReader` decode is identical
52
- * in dev and prod:
53
- * u16 version | u32 count | (u32 nameLen, name bytes, i64 value)* |
79
+ * Encode the v2 snapshot frame BYTE-FOR-BYTE like the edge (`analytics.rs` `encode_stats`), FIXED
80
+ * layout (no strings):
81
+ * u16 version | u64 now_ms | u32 count | i64 × count | i64 connectedStreams | i64 committedMemory |
54
82
  * i64 reqMinuteUsed | u64 reqMinuteCap | i64 reqDayUsed | u64 reqDayCap
55
83
  */
56
84
  function encodeStats(s: DevTenantStats): Buffer {
57
- const parts: Buffer[] = [];
58
- const head = Buffer.alloc(6);
59
- head.writeUInt16LE(1, 0); // frame version
60
- head.writeUInt32LE(s.lifetime.length, 2);
61
- parts.push(head);
62
- for (const [name, value] of s.lifetime) {
63
- const nb = Buffer.from(name, 'utf8');
64
- const nl = Buffer.alloc(4);
65
- nl.writeUInt32LE(nb.length, 0);
66
- const vb = Buffer.alloc(8);
67
- vb.writeBigInt64LE(BigInt(value), 0);
68
- parts.push(nl, nb, vb);
85
+ const head = Buffer.alloc(2 + 8 + 4);
86
+ head.writeUInt16LE(FRAME_VERSION, 0);
87
+ head.writeBigUInt64LE(BigInt(s.nowMs), 2);
88
+ head.writeUInt32LE(s.life.length, 10);
89
+ const body = Buffer.alloc(s.life.length * 8 + 48);
90
+ let o = 0;
91
+ for (const v of s.life) {
92
+ body.writeBigInt64LE(v, o);
93
+ o += 8;
69
94
  }
70
- const tail = Buffer.alloc(32);
71
- tail.writeBigInt64LE(BigInt(s.reqMinuteUsed), 0);
72
- tail.writeBigUInt64LE(BigInt(s.reqMinuteCap), 8);
73
- tail.writeBigInt64LE(BigInt(s.reqDayUsed), 16);
74
- tail.writeBigUInt64LE(BigInt(s.reqDayCap), 24);
75
- parts.push(tail);
76
- return Buffer.concat(parts);
95
+ body.writeBigInt64LE(BigInt(s.connectedStreams), o); o += 8;
96
+ body.writeBigInt64LE(BigInt(s.committedMemory), o); o += 8;
97
+ body.writeBigInt64LE(BigInt(s.reqMinuteUsed), o); o += 8;
98
+ body.writeBigUInt64LE(BigInt(s.reqMinuteCap), o); o += 8;
99
+ body.writeBigInt64LE(BigInt(s.reqDayUsed), o); o += 8;
100
+ body.writeBigUInt64LE(BigInt(s.reqDayCap), o);
101
+ return Buffer.concat([head, body]);
102
+ }
103
+
104
+ /** The metric ids carried in the per-minute ring (mirrors the edge `MINUTE_RING_METRICS`). Only these get
105
+ * minute resolution on the 1h/6h ranges; every other metric falls back to the hour ring there. */
106
+ const MINUTE_RING_METRICS = new Set<number>([0, 2, 1, 25, 26, 12, 13, 39, 41, 43]);
107
+
108
+ /**
109
+ * Range id -> (bucketCount, bucketSecs), matching the edge `Range` + minute-ring fallback: 1h/6h are
110
+ * per-minute ONLY for a minute-ring metric; otherwise they fall back to the hour ring (1h/6h buckets).
111
+ */
112
+ function rangeShape(range: number, metricId: number): { count: number; bucketSecs: number } {
113
+ const isMinute = (range === 0 || range === 1) && MINUTE_RING_METRICS.has(metricId);
114
+ if (isMinute) return range === 0 ? { count: 60, bucketSecs: 60 } : { count: 360, bucketSecs: 60 };
115
+ switch (range) {
116
+ case 0: return { count: 1, bucketSecs: 3600 }; // 1h on the hour ring
117
+ case 1: return { count: 6, bucketSecs: 3600 }; // 6h on the hour ring
118
+ case 2: return { count: 12, bucketSecs: 3600 };
119
+ case 3: return { count: 24, bucketSecs: 3600 };
120
+ case 4: return { count: 72, bucketSecs: 3600 };
121
+ case 5: return { count: 168, bucketSecs: 3600 };
122
+ case 6: return { count: 336, bucketSecs: 3600 };
123
+ case 7: return { count: 720, bucketSecs: 3600 };
124
+ default: return { count: 24, bucketSecs: 3600 };
125
+ }
126
+ }
127
+
128
+ /**
129
+ * Encode the v2 series frame BYTE-FOR-BYTE like the edge `encode_series`:
130
+ * u16 version | u16 metricId | u32 bucketSecs | u64 headMs | u32 count | i64 × count
131
+ * A synthetic gentle ramp so a dev dashboard draws a non-flat line.
132
+ */
133
+ function encodeSeries(metricId: number, range: number): Buffer {
134
+ const { count, bucketSecs } = rangeShape(range, metricId);
135
+ const nowMs = 1_700_000_000_000;
136
+ const head = Buffer.alloc(2 + 2 + 4 + 8 + 4);
137
+ head.writeUInt16LE(FRAME_VERSION, 0);
138
+ head.writeUInt16LE(metricId & 0xffff, 2);
139
+ head.writeUInt32LE(bucketSecs, 4);
140
+ head.writeBigUInt64LE(BigInt(nowMs), 8);
141
+ head.writeUInt32LE(count, 16);
142
+ const body = Buffer.alloc(count * 8);
143
+ for (let i = 0; i < count; i++) {
144
+ // A smooth ramp with a little variation, deterministic per (metric, index).
145
+ const v = BigInt(((i * 7 + metricId) % 50) + i);
146
+ body.writeBigInt64LE(v, i * 8);
147
+ }
148
+ return Buffer.concat([head, body]);
77
149
  }
78
150
 
79
151
  /**
@@ -125,6 +197,29 @@ export function buildAnalyticsImports(
125
197
  return frame.length;
126
198
  },
127
199
 
200
+ // `env.analytics_series`: one metric's time-series for a range. Dev returns a synthetic ramp
201
+ // (real ring reads are edge-side). Mirrors the edge bounds + negative-status paths.
202
+ analytics_series: (
203
+ domainPtr: number,
204
+ domainLen: number,
205
+ metricId: number,
206
+ range: number,
207
+ ): number => {
208
+ if (domainLen > MAX_DOMAIN_LEN) return ABSENT;
209
+ if (metricId < 0 || metricId > 44 || range < 0 || range > 7) return ABSENT;
210
+ if (domainLen > 0) {
211
+ if (!ref.memory) throw new Error('analytics_series called before memory was bound');
212
+ const m = Buffer.from(ref.memory.buffer);
213
+ if (domainPtr < 0 || domainPtr + domainLen > m.length) {
214
+ throw new Error('analytics_series: domain out of bounds');
215
+ }
216
+ }
217
+ const frame = encodeSeries(metricId, range);
218
+ db.lastResult = frame;
219
+ db.lastResultVersion = -1;
220
+ return frame.length;
221
+ },
222
+
128
223
  // The dacely dashboard enumerate-all-sites stub. Dev returns a fixed SORTED sample for any
129
224
  // caller (the real dacely.com-only authz is the edge), but mirrors the edge ABI exactly:
130
225
  // over-long/non-utf8 cursor -> ABSENT, cursor = strictly-after, limit cap, and a REAL has_more.
@@ -112,6 +112,7 @@ const PROVIDED_IMPORTS = new Set([
112
112
  'env_get_secure',
113
113
  // Per-domain analytics (see ./analytics/index.ts).
114
114
  'analytics_read',
115
+ 'analytics_series',
115
116
  'analytics_list_sites',
116
117
  // Web Crypto host functions (see ./crypto.ts).
117
118
  'crypto.fill_random',
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Dev-server analytics stub parity: the `env.analytics_read` / `env.analytics_series` dev imports must
3
+ * encode the v2 frames BYTE-FOR-BYTE like the edge (`analytics.rs`), so a guest's toilscript `Analytics`
4
+ * decode is identical in dev and prod. We decode the stashed frame positionally, exactly as the guest.
5
+ */
6
+ import { describe, expect, it } from 'vitest';
7
+
8
+ import { buildAnalyticsImports } from '../src/devserver/analytics/index.js';
9
+
10
+ // Minimal fakes: domainLen 0 needs no memory; the stub stashes the frame into db.lastResult.
11
+ function harness() {
12
+ const ref = { memory: null } as unknown as Parameters<typeof buildAnalyticsImports>[0];
13
+ const db = { lastResult: null as Buffer | null, lastResultVersion: 0 } as unknown as Parameters<
14
+ typeof buildAnalyticsImports
15
+ >[1];
16
+ return { imports: buildAnalyticsImports(ref, db), db };
17
+ }
18
+
19
+ describe('dev analytics stub v2 frame parity', () => {
20
+ it('analytics_read encodes the fixed-layout snapshot frame', () => {
21
+ const { imports, db } = harness();
22
+ const n = imports.analytics_read(0, 0);
23
+ const buf = db.lastResult as unknown as Buffer;
24
+ expect(n).toBe(buf.length);
25
+
26
+ let p = 0;
27
+ const u16 = () => { const v = buf.readUInt16LE(p); p += 2; return v; };
28
+ const u32 = () => { const v = buf.readUInt32LE(p); p += 4; return v; };
29
+ const i64 = () => { const v = buf.readBigInt64LE(p); p += 8; return v; };
30
+ const u64 = () => { const v = buf.readBigUInt64LE(p); p += 8; return v; };
31
+
32
+ expect(u16()).toBe(2); // FRAME_VERSION
33
+ u64(); // now_ms
34
+ const count = u32();
35
+ expect(count).toBe(41); // METRIC_COUNTERS
36
+ const life: bigint[] = [];
37
+ for (let i = 0; i < count; i++) life.push(i64());
38
+ expect(life[0]).toBe(42n); // Requests
39
+ expect(life[1]).toBe(12345n); // BytesOutL1
40
+ expect(life[12]).toBe(1_000_000n); // GasUsed
41
+ expect(i64()).toBe(3n); // connectedStreams
42
+ expect(i64()).toBe(65536n); // committedMemory
43
+ expect(i64()).toBe(5n); // reqMinuteUsed
44
+ expect(u64()).toBe(100n); // reqMinuteCap
45
+ expect(i64()).toBe(42n); // reqDayUsed
46
+ expect(u64()).toBe(5000n); // reqDayCap
47
+ expect(p).toBe(buf.length); // no trailing bytes
48
+ });
49
+
50
+ it('analytics_series encodes the series frame with the right shape per range', () => {
51
+ const { imports, db } = harness();
52
+ // metric 0 (Requests), range 3 (H24) -> hour ring, 24 buckets, bucketSecs 3600.
53
+ const n = imports.analytics_series(0, 0, 0, 3);
54
+ const buf = db.lastResult as unknown as Buffer;
55
+ expect(n).toBe(buf.length);
56
+ let p = 0;
57
+ expect(buf.readUInt16LE(p)).toBe(2); p += 2; // version
58
+ expect(buf.readUInt16LE(p)).toBe(0); p += 2; // metric id
59
+ expect(buf.readUInt32LE(p)).toBe(3600); p += 4; // bucketSecs
60
+ p += 8; // headMs
61
+ const count = buf.readUInt32LE(p); p += 4;
62
+ expect(count).toBe(24);
63
+ expect(buf.length).toBe(p + count * 8);
64
+
65
+ // range 0 (1h) -> minute ring: 60 buckets, bucketSecs 60.
66
+ imports.analytics_series(0, 0, 0, 0);
67
+ const b2 = db.lastResult as unknown as Buffer;
68
+ expect(b2.readUInt32LE(4)).toBe(60); // bucketSecs
69
+ expect(b2.readUInt32LE(16)).toBe(60); // count
70
+
71
+ // A bad metric / range -> ABSENT (negative), no frame.
72
+ expect(imports.analytics_series(0, 0, 999, 3)).toBeLessThan(0);
73
+ expect(imports.analytics_series(0, 0, 0, 99)).toBeLessThan(0);
74
+ });
75
+ });