@texonom/cli 1.4.6 → 1.4.7
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/build/.tsbuildinfo +1 -1
- package/build/src/main.js +1 -1
- package/build/src/main.js.map +1 -1
- package/package.json +4 -4
package/build/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/types.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/cascadingpredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/typepredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/helperpredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/tools.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/core.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/format.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/errors.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/cli.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/command.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/array.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/boolean.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/counter.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/proxy.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/rest.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/string.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.d.ts","../package.json","../../ntypes/build/index.d.ts","../../nclient/build/index.d.ts","../../../node_modules/.pnpm/is-url-superb@6.1.0/node_modules/is-url-superb/index.d.ts","../../nutils/build/index.d.ts","../../../node_modules/.pnpm/@types+jsonstream@0.8.33/node_modules/@types/jsonstream/index.d.ts","../../../node_modules/.pnpm/@types+graceful-fs@4.1.9/node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/.pnpm/prettier@3.5.3/node_modules/prettier/doc.d.ts","../../../node_modules/.pnpm/prettier@3.5.3/node_modules/prettier/index.d.ts","../src/notion/index.ts","../src/treemap.ts","../src/stats.ts","../src/notion/export.ts","../src/main.ts","../src/types.ts","../../../node_modules/.pnpm/@vitest+pretty-format@3.2.2/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/node.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/optional-types.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.7/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/rollup@4.40.1/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/.pnpm/rollup@4.40.1/node_modules/rollup/dist/parseast.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/modulerunnertransport.d-dj_me5sf.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/esbuild@0.25.3/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/postcss.d.mts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/internal/lightningcssoptions.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/internal/csspreprocessoroptions.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/importglob.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/source-map.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/config.d.d2roskhv.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/worker.d.tqu2ejqy.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/reporters.d.dl9pg5db.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/worker.d.dvqk5vmu.d.ts","../../../node_modules/.pnpm/@vitest+spy@3.2.2/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@3.2.2/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/vite.d.ctvoceqc.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/index.d.ts","../src/notion/export.test.ts"],"fileIdsList":[[91,134,279],[91,134],[91,134,147,184],[91,134,184],[91,131,134],[91,133,134],[134],[91,134,139,169],[91,134,135,140,146,147,154,166,177],[91,134,135,136,146,154],[86,87,88,91,134],[91,134,137,178],[91,134,138,139,147,155],[91,134,139,166,174],[91,134,140,142,146,154],[91,133,134,141],[91,134,142,143],[91,134,144,146],[91,133,134,146],[91,134,146,147,148,166,177],[91,134,146,147,148,161,166,169],[91,129,134],[91,129,134,142,146,149,154,166,177],[91,134,146,147,149,150,154,166,174,177],[91,134,149,151,166,174,177],[89,90,91,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,146,152],[91,134,153,177],[91,134,142,146,154,166],[91,134,155],[91,134,156],[91,133,134,157],[91,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,159],[91,134,160],[91,134,146,161,162],[91,134,161,163,178,180],[91,134,146,166,167,169],[91,134,168,169],[91,134,166,167],[91,134,169],[91,134,170],[91,131,134,166],[91,134,146,172,173],[91,134,172,173],[91,134,139,154,166,174],[91,134,175],[91,134,154,176],[91,134,149,160,177],[91,134,139,178],[91,134,166,179],[91,134,153,180],[91,134,181],[91,134,146,148,157,166,169,177,180,182],[91,134,166,183],[91,134,222,223,226,289],[91,134,266,267],[91,134,223,224,226,227,228],[91,134,223],[91,134,223,224,226],[91,134,223,224],[91,134,273],[91,134,218,273,274],[91,134,218,273],[91,134,218,225],[91,134,219],[91,134,218,219,220,222],[91,134,218],[91,134,190],[91,134,191,192,193],[91,134,166,184,185,186,188,190],[85,91,134,188,189],[91,134,186,187,189,190,194,201],[85,91,134,188],[91,134,188],[91,134,188,195,196,197,198,199,200],[85,91,134,185,187,189],[91,134,295,296],[91,134,295,296,297,298],[91,134,295,297],[91,134,295],[91,134,256],[91,134,254,256],[91,134,245,253,254,255,257],[91,134,243],[91,134,246,251,256,259],[91,134,242,259],[91,134,246,247,250,251,252,259],[91,134,246,247,248,250,251,259],[91,134,243,244,245,246,247,251,252,253,255,256,257,259],[91,134,259],[91,134,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258],[91,134,241,259],[91,134,246,248,249,251,252,259],[91,134,250,259],[91,134,251,252,256,259],[91,134,244,254],[91,134,210],[91,134,233,264,265],[91,134,232,233],[91,134,221],[80,81,82,83,84,91,134],[80,91,134],[91,101,105,134,177],[91,101,134,166,177],[91,96,134],[91,98,101,134,174,177],[91,134,154,174],[91,96,134,184],[91,98,101,134,154,177],[91,93,94,97,100,134,146,166,177],[91,101,108,134],[91,93,99,134],[91,101,122,123,134],[91,97,101,134,169,177,184],[91,122,134,184],[91,95,96,134,184],[91,101,134],[91,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,134],[91,101,116,134],[91,101,108,109,134],[91,99,101,109,110,134],[91,100,134],[91,93,96,101,134],[91,101,105,109,110,134],[91,105,134],[91,99,101,104,134,177],[91,93,98,101,108,134],[91,134,166],[91,96,101,122,134,182,184],[91,134,270,271],[91,134,270],[91,134,146,147,149,150,151,154,166,174,177,183,184,233,234,235,236,238,239,240,260,261,262,263,264,265],[91,134,235,236,237,238],[91,134,235],[91,134,236],[91,134,233,265],[91,134,229,281,282,291],[91,134,218,226,229,275,276,291],[91,134,284],[91,134,230],[91,134,218,229,231,275,283,290,291],[91,134,268],[91,134,137,147,166,218,223,226,229,231,265,268,269,272,275,277,278,280,283,285,286,291,292],[91,134,229,281,282,283,291],[91,134,265,287,292],[91,134,182,278],[91,134,229,231,272,275,277,291],[91,134,137,147,166,182,218,223,226,229,230,231,265,268,269,272,275,276,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,299],[91,134,202,203,212,213,214,215],[91,134,207,212,300],[91,134,202,212,213,214],[91,134,148,156,166,178,204,205,207,208,209,211],[91,134,148,213],[91,134,147,178],[91,134,204],[91,134,204,206]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fe869c60b17b972a0eb9423e8a50bd9796508be7cc7181758ecd649be30f56c","impliedFormat":1},{"version":"bad1f77bb946699281dc049ae841bc65231029b17ca2bf54fcb3c6afcbf06ec5","impliedFormat":1},{"version":"d06898a1601eb860aae768ffd0c288ff715bd4e1ed098bd29745308f4338b6d4","impliedFormat":1},{"version":"471117e5a4f7fc1a539b98a7c5107ce5ed44ca71583cec36418bda91e75e0a60","impliedFormat":1},{"version":"9b4b572caf9a82cd34b62baacdf31ff030c6fa307f174810240216d9cfcf8580","impliedFormat":1},{"version":"647ddde02a14904825d0f92904254c98f3cfa6946a61f1f519b1f9aa3595ce33","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a4ef5ccfd69b5bc2a2c29896aa07daaff7c5924a12e70cb3d9819145c06897db","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4a1c5b43d4d408cb0df0a6cc82ca7be314553d37e432fc1fd801bae1a9ab2cb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"c6ab0dd29bf74b71a54ff2bbce509eb8ae3c4294d57cc54940f443c01cd1baae","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"056e650abd76f4f163b63d28caa4a21ce6b8ac69d8717987a7861724499fa66a","impliedFormat":1},{"version":"8eb83d1ad044634c54c3de70ac76e596ae48ec0ed0800797211fbfe7d9bc94de","impliedFormat":1},{"version":"df0e93ded7e580b27eb3bfea87dffc49a823ea74ef6c625938cb8f5298e1bd57","impliedFormat":1},{"version":"c44308d3424b3d85a342c7f59eee52a7d2807859692c0e89e4373e88d5895743","impliedFormat":1},{"version":"7fdfb1d630e3baa80e994518127a8a60f298a0dd783824f50797e3d88213af94","impliedFormat":1},{"version":"bf78879e6f7417cc8b3ba859dbe762d9f1f64fead4183a85c8a998e156377bcb","impliedFormat":1},{"version":"079bf77582cfa769546f060b373cbe4bac74627c240bcf07f0b571c29c1c7269","impliedFormat":1},{"version":"dcd687115f7836cab01c44b1a3678422533adb6e8e255d046850a9b998ca953d","impliedFormat":1},{"version":"95046f08a9e3860e531bae878947f04cf91aade9ca8dae60f962aff85b892eeb","impliedFormat":1},{"version":"7ea8ac0a5b4461e346fe937ff19841c66bcf3121205de8d1b2a5d0a31f3b28eb","impliedFormat":1},{"version":"d9b36f58f094c4095818a4b5cf8dc8b6f3ac7d38fc3bafc871494e3c4d586551","impliedFormat":1},{"version":"5af4f0c77e82183dc512690283cc80a2b59370083a60ed75174a516b921452fc","impliedFormat":1},{"version":"5581450c9bfffa56208fa69ce62ea33c8671fa34cfdc1eeb262ec7ebf0b5cbf7","impliedFormat":1},{"version":"977997bf4efd7fc8d5b4a78f9474395315189d8d9d92a8280cb35babe0885534","impliedFormat":1},{"version":"dc9f4778bd2d16df16c101704eee59112818857cf58ecb59417633abca828ff0","impliedFormat":1},{"version":"fca70e3e8f1b91b6462c3d22546de7f79acd9fd7eee9b638f7f4bd348c851bd2","impliedFormat":1},{"version":"fb4113fc41b555bb1aa01fb17c66da9be37b734c5b4c4e244f70d7ecb0b7e5c0","impliedFormat":1},{"version":"cec053867ca5fba9e8e966de9bb9e7ad077a9f018175e20de473bf81cdc0b8ff","impliedFormat":1},{"version":"2cc1899414f765d09b37ae44691a5f11c126c05dd27259f5b3fd7e1af9cdd728","signature":"80929751b3512388f49be15d8d4e2c64e6cbb2c0377112ea354a6f328bab4c4c"},"042bd95c78f3a2be4fa69bff4cc2921d64ee9bf19dcbf4a797fa80a057b3b207","bc3b0259a1ad25737fb2eb2797f2f7f66a8995d1282d0edfc0490a2f68d25a13",{"version":"a87e5902fd92d16a80e0020ac03d6477bc2e7a6f5b0407a73aff6b7aa9e01d55","impliedFormat":99},"21a44ac96c8100b4a7094d990c022bc5c6397c460f4ac635606c94ed0e63e92f",{"version":"0bd34b5fcc75a9759fcc84590bd53d051538f2e4ec74b2bbbb528cd99bbcc4a9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"f63cb353cd53da6be4a34f6fdece6316dac14fd62cccf9a4d2ce6bab2c37bc8c","impliedFormat":1},{"version":"54751c34f1e8c3bedd7a4501762c8a9567160ac76bd6bc35b73429d3e2cf2ec7","impliedFormat":1},{"version":"012674f382c4ea57a786a14846c51f66be1178344c417deab7ba4a61f6e2ab73","signature":"812af862c0c396615ff832517dd1164ff27109d7b336820816c1d412b24e5f42"},{"version":"054f69d75ca98184ec41df2dc02018bbd98e765a375e6a721fcf7f5389851ce4","signature":"a471648df963db57624da50ad85e089d6ea47f68e51592841b6bb410fad5a6d8"},{"version":"fa9873e223e7db896b1647c3720e9906cb6bdcf6109b41c1062f5a9c99d12a5c","signature":"6bd61ef2b67380c476cc3e15a833d3637feebe8222e1954d1e692f241c4eb1e4"},{"version":"79d46f8b32eac9be956b77099fbb76cc2b09b2777e26b8b52962304a70a88f43","signature":"22718c765fcbb69fb9888658357d62722e73f3150d1c4013fab6c0ec433b13b6"},{"version":"7aa0ed3720cc8b0337e9676a32eadb037a4677b368ee93123b262cc7dc48db38","signature":"3b1f8c50298ac4801b98aaaefdd79b7f2d6bb9060dba669e751825749fa29f27"},{"version":"a89777b4f82b0de08d19a2a80466647806f26599b652bb27c8f1b5e1f8218ce1","signature":"9a3a299acf95f53de27435585bcf863e20b2a5946bcee929eaf8d8beb3845198"},{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"e2b48abff5a8adc6bb1cd13a702b9ef05e6045a98e7cfa95a8779b53b6d0e69d","impliedFormat":1},{"version":"a02d26c056491b1ddfa53a671ad60ce852969b369f0e71993dbac8ddcf0d038b","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"11443a1dcfaaa404c68d53368b5b818712b95dd19f188cab1669c39bee8b84b3","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"035d0934d304483f07148427a5bd5b98ac265dae914a6b49749fe23fbd893ec7","impliedFormat":99},{"version":"e2ed5b81cbed3a511b21a18ab2539e79ac1f4bc1d1d28f8d35d8104caa3b429f","impliedFormat":99},{"version":"b8caba62c0d2ef625f31cbb4fde09d851251af2551086ccf068611b0a69efd81","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"33f3718dababfc26dfd9832c150149ea4e934f255130f8c118a59ae69e5ed441","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1bb61aa2f08ab4506d41dbe16c5f3f5010f014bbf46fa3d715c0cbe3b00f4e1c","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"e42820cd611b15910c204cd133f692dcd602532b39317d4f2a19389b27e6f03d","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"7870becb94cbc11d2d01b77c4422589adcba4d8e59f726246d40cd0d129784d8","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"f70b8328a15ca1d10b1436b691e134a49bc30dcf3183a69bfaa7ba77e1b78ecd","impliedFormat":1},{"version":"ff3660e2664e6096196280deb4e176633b1bb1e58a7dcc9b021ec0e913a6f96f","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"83ab446a053419dfd8e40526abf297c4d9d11f175b05512de1915a8ab7697b67","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"81e634f1c5e1ca309e7e3dc69e2732eea932ef07b8b34517d452e5a3e9a36fa3","impliedFormat":99},{"version":"4e238ace06d3b49ea02f6a1170259e6a803154b03bfd069e5e83d8d0053fbae7","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"d6b4dfab234307239ca8f1329870f6c10341447fc0581388f8d99565e550ffe9","impliedFormat":99},{"version":"1f7e5e81b810bae68833b9f78c276ee929dbc7e9c4c2791bc70a257fbb9f6e78","impliedFormat":99},{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"962c383ff23b17cdd39586e17bb7c3f01ecf0403c0e8d6fbf2f1e69d972c0fc5","affectsGlobalScope":true,"impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"4b2bcddb85fe211e040d25623b4615abf53f11a43c2c59539a480f0ab95cdd3c","impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"4c8ca51077f382498f47074cf304d654aba5d362416d4f809dfdd5d4f6b3aaca","impliedFormat":1},{"version":"c6bddf16578495abc8b5546850b047f30c4b5a2a2b7fecefc0e11a44a6e91399","impliedFormat":1},{"version":"c6a9615d13b98f555a54aaa7850bc3d061ffbfe6e14ad9356de3b44294510344","impliedFormat":99},{"version":"582a39d3ee86cdfb7316d8ec51da53510b1824b896963cb4955d21f49b0570aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[212,217],301],"options":{"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":false,"target":2,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[280,1],[279,2],[232,2],[209,3],[208,4],[131,5],[132,5],[133,6],[91,7],[134,8],[135,9],[136,10],[86,2],[89,11],[87,2],[88,2],[137,12],[138,13],[139,14],[140,15],[141,16],[142,17],[143,17],[145,2],[144,18],[146,19],[147,20],[148,21],[130,22],[90,2],[149,23],[150,24],[151,25],[184,26],[152,27],[153,28],[154,29],[155,30],[156,31],[157,32],[158,33],[159,34],[160,35],[161,36],[162,36],[163,37],[164,2],[165,2],[166,38],[168,39],[167,40],[169,41],[170,42],[171,43],[172,44],[173,45],[174,46],[175,47],[176,48],[177,49],[178,50],[179,51],[180,52],[181,53],[182,54],[183,55],[290,56],[268,57],[266,2],[267,2],[218,2],[229,58],[224,59],[227,60],[281,61],[273,2],[276,62],[275,63],[286,63],[274,64],[289,2],[226,65],[228,65],[220,66],[223,67],[269,66],[225,68],[219,2],[92,2],[191,69],[192,69],[194,70],[193,69],[189,71],[190,72],[202,73],[195,74],[196,75],[197,75],[201,76],[198,2],[199,2],[200,74],[188,77],[185,2],[187,2],[186,2],[240,2],[297,78],[299,79],[298,80],[296,81],[295,2],[206,2],[257,82],[255,83],[256,84],[244,85],[245,83],[252,86],[243,87],[248,88],[258,2],[249,89],[254,90],[260,91],[259,92],[242,93],[250,94],[251,95],[246,96],[253,82],[247,97],[210,2],[211,98],[234,99],[233,100],[241,2],[282,2],[221,2],[222,101],[85,102],[81,103],[83,103],[82,103],[84,103],[80,2],[78,2],[79,2],[13,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[24,2],[25,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[56,2],[57,2],[59,2],[58,2],[60,2],[61,2],[10,2],[62,2],[63,2],[64,2],[11,2],[65,2],[66,2],[67,2],[68,2],[69,2],[1,2],[70,2],[71,2],[12,2],[75,2],[73,2],[77,2],[72,2],[76,2],[74,2],[108,104],[118,105],[107,104],[128,106],[99,107],[98,108],[127,4],[121,109],[126,110],[101,111],[115,112],[100,113],[124,114],[96,115],[95,4],[125,116],[97,117],[102,118],[103,2],[106,118],[93,2],[129,119],[119,120],[110,121],[111,122],[113,123],[109,124],[112,125],[122,4],[104,126],[105,127],[114,128],[94,129],[117,120],[116,118],[120,2],[123,130],[284,131],[271,132],[272,131],[270,2],[265,133],[239,134],[238,135],[236,135],[235,2],[237,136],[263,2],[262,2],[261,2],[264,137],[283,138],[277,139],[285,140],[231,141],[291,142],[293,143],[287,144],[294,145],[292,146],[288,147],[278,148],[300,149],[230,2],[203,2],[216,150],[301,151],[215,152],[212,153],[214,154],[213,155],[217,2],[205,156],[204,2],[207,157]],"version":"5.8.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/types.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/cascadingpredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/typepredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/predicates/helperpredicates.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/tools.d.ts","../../../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.30/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/core.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/format.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/errors.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/cli.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/command.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/array.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/boolean.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/counter.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/proxy.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/rest.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/string.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.d.ts","../../../node_modules/.pnpm/clipanion@3.2.1_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.d.ts","../package.json","../../ntypes/build/index.d.ts","../../nclient/build/index.d.ts","../../../node_modules/.pnpm/is-url-superb@6.1.0/node_modules/is-url-superb/index.d.ts","../../nutils/build/index.d.ts","../../../node_modules/.pnpm/@types+jsonstream@0.8.33/node_modules/@types/jsonstream/index.d.ts","../../../node_modules/.pnpm/@types+graceful-fs@4.1.9/node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/.pnpm/prettier@3.5.3/node_modules/prettier/doc.d.ts","../../../node_modules/.pnpm/prettier@3.5.3/node_modules/prettier/index.d.ts","../src/notion/index.ts","../src/treemap.ts","../src/stats.ts","../src/notion/export.ts","../src/main.ts","../src/types.ts","../../../node_modules/.pnpm/@vitest+pretty-format@3.2.2/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/node.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/optional-types.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.7/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/rollup@4.40.1/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/.pnpm/rollup@4.40.1/node_modules/rollup/dist/parseast.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/modulerunnertransport.d-dj_me5sf.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/esbuild@0.25.3/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/postcss@8.5.3/node_modules/postcss/lib/postcss.d.mts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/internal/lightningcssoptions.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/internal/csspreprocessoroptions.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/importglob.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@6.3.5_@types+node@22.15.30_tsx@4.19.4/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.2_vite@6_44ff04a085fba111f5eb95ceb03a5876/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.2/node_modules/@vitest/utils/dist/source-map.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/config.d.d2roskhv.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/worker.d.tqu2ejqy.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.2/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","../../../node_modules/.pnpm/vite-node@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.2/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/reporters.d.dl9pg5db.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/worker.d.dvqk5vmu.d.ts","../../../node_modules/.pnpm/@vitest+spy@3.2.2/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@3.2.2/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/vite.d.ctvoceqc.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.2.1/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.2_@types+node@22.15.30_tsx@4.19.4/node_modules/vitest/dist/index.d.ts","../src/notion/export.test.ts"],"fileIdsList":[[91,134,279],[91,134],[91,134,147,184],[91,134,184],[91,131,134],[91,133,134],[134],[91,134,139,169],[91,134,135,140,146,147,154,166,177],[91,134,135,136,146,154],[86,87,88,91,134],[91,134,137,178],[91,134,138,139,147,155],[91,134,139,166,174],[91,134,140,142,146,154],[91,133,134,141],[91,134,142,143],[91,134,144,146],[91,133,134,146],[91,134,146,147,148,166,177],[91,134,146,147,148,161,166,169],[91,129,134],[91,129,134,142,146,149,154,166,177],[91,134,146,147,149,150,154,166,174,177],[91,134,149,151,166,174,177],[89,90,91,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,146,152],[91,134,153,177],[91,134,142,146,154,166],[91,134,155],[91,134,156],[91,133,134,157],[91,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,159],[91,134,160],[91,134,146,161,162],[91,134,161,163,178,180],[91,134,146,166,167,169],[91,134,168,169],[91,134,166,167],[91,134,169],[91,134,170],[91,131,134,166],[91,134,146,172,173],[91,134,172,173],[91,134,139,154,166,174],[91,134,175],[91,134,154,176],[91,134,149,160,177],[91,134,139,178],[91,134,166,179],[91,134,153,180],[91,134,181],[91,134,146,148,157,166,169,177,180,182],[91,134,166,183],[91,134,222,223,226,289],[91,134,266,267],[91,134,223,224,226,227,228],[91,134,223],[91,134,223,224,226],[91,134,223,224],[91,134,273],[91,134,218,273,274],[91,134,218,273],[91,134,218,225],[91,134,219],[91,134,218,219,220,222],[91,134,218],[91,134,190],[91,134,191,192,193],[91,134,166,184,185,186,188,190],[85,91,134,188,189],[91,134,186,187,189,190,194,201],[85,91,134,188],[91,134,188],[91,134,188,195,196,197,198,199,200],[85,91,134,185,187,189],[91,134,295,296],[91,134,295,296,297,298],[91,134,295,297],[91,134,295],[91,134,256],[91,134,254,256],[91,134,245,253,254,255,257],[91,134,243],[91,134,246,251,256,259],[91,134,242,259],[91,134,246,247,250,251,252,259],[91,134,246,247,248,250,251,259],[91,134,243,244,245,246,247,251,252,253,255,256,257,259],[91,134,259],[91,134,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258],[91,134,241,259],[91,134,246,248,249,251,252,259],[91,134,250,259],[91,134,251,252,256,259],[91,134,244,254],[91,134,210],[91,134,233,264,265],[91,134,232,233],[91,134,221],[80,81,82,83,84,91,134],[80,91,134],[91,101,105,134,177],[91,101,134,166,177],[91,96,134],[91,98,101,134,174,177],[91,134,154,174],[91,96,134,184],[91,98,101,134,154,177],[91,93,94,97,100,134,146,166,177],[91,101,108,134],[91,93,99,134],[91,101,122,123,134],[91,97,101,134,169,177,184],[91,122,134,184],[91,95,96,134,184],[91,101,134],[91,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,134],[91,101,116,134],[91,101,108,109,134],[91,99,101,109,110,134],[91,100,134],[91,93,96,101,134],[91,101,105,109,110,134],[91,105,134],[91,99,101,104,134,177],[91,93,98,101,108,134],[91,134,166],[91,96,101,122,134,182,184],[91,134,270,271],[91,134,270],[91,134,146,147,149,150,151,154,166,174,177,183,184,233,234,235,236,238,239,240,260,261,262,263,264,265],[91,134,235,236,237,238],[91,134,235],[91,134,236],[91,134,233,265],[91,134,229,281,282,291],[91,134,218,226,229,275,276,291],[91,134,284],[91,134,230],[91,134,218,229,231,275,283,290,291],[91,134,268],[91,134,137,147,166,218,223,226,229,231,265,268,269,272,275,277,278,280,283,285,286,291,292],[91,134,229,281,282,283,291],[91,134,265,287,292],[91,134,182,278],[91,134,229,231,272,275,277,291],[91,134,137,147,166,182,218,223,226,229,230,231,265,268,269,272,275,276,277,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,299],[91,134,202,203,212,213,214,215],[91,134,207,212,300],[91,134,202,212,213,214],[91,134,148,156,166,178,204,205,207,208,209,211],[91,134,148,213],[91,134,147,178],[91,134,204],[91,134,204,206]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fe869c60b17b972a0eb9423e8a50bd9796508be7cc7181758ecd649be30f56c","impliedFormat":1},{"version":"bad1f77bb946699281dc049ae841bc65231029b17ca2bf54fcb3c6afcbf06ec5","impliedFormat":1},{"version":"d06898a1601eb860aae768ffd0c288ff715bd4e1ed098bd29745308f4338b6d4","impliedFormat":1},{"version":"471117e5a4f7fc1a539b98a7c5107ce5ed44ca71583cec36418bda91e75e0a60","impliedFormat":1},{"version":"9b4b572caf9a82cd34b62baacdf31ff030c6fa307f174810240216d9cfcf8580","impliedFormat":1},{"version":"647ddde02a14904825d0f92904254c98f3cfa6946a61f1f519b1f9aa3595ce33","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a4ef5ccfd69b5bc2a2c29896aa07daaff7c5924a12e70cb3d9819145c06897db","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4a1c5b43d4d408cb0df0a6cc82ca7be314553d37e432fc1fd801bae1a9ab2cb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"c6ab0dd29bf74b71a54ff2bbce509eb8ae3c4294d57cc54940f443c01cd1baae","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"056e650abd76f4f163b63d28caa4a21ce6b8ac69d8717987a7861724499fa66a","impliedFormat":1},{"version":"8eb83d1ad044634c54c3de70ac76e596ae48ec0ed0800797211fbfe7d9bc94de","impliedFormat":1},{"version":"df0e93ded7e580b27eb3bfea87dffc49a823ea74ef6c625938cb8f5298e1bd57","impliedFormat":1},{"version":"c44308d3424b3d85a342c7f59eee52a7d2807859692c0e89e4373e88d5895743","impliedFormat":1},{"version":"7fdfb1d630e3baa80e994518127a8a60f298a0dd783824f50797e3d88213af94","impliedFormat":1},{"version":"bf78879e6f7417cc8b3ba859dbe762d9f1f64fead4183a85c8a998e156377bcb","impliedFormat":1},{"version":"079bf77582cfa769546f060b373cbe4bac74627c240bcf07f0b571c29c1c7269","impliedFormat":1},{"version":"dcd687115f7836cab01c44b1a3678422533adb6e8e255d046850a9b998ca953d","impliedFormat":1},{"version":"95046f08a9e3860e531bae878947f04cf91aade9ca8dae60f962aff85b892eeb","impliedFormat":1},{"version":"7ea8ac0a5b4461e346fe937ff19841c66bcf3121205de8d1b2a5d0a31f3b28eb","impliedFormat":1},{"version":"d9b36f58f094c4095818a4b5cf8dc8b6f3ac7d38fc3bafc871494e3c4d586551","impliedFormat":1},{"version":"5af4f0c77e82183dc512690283cc80a2b59370083a60ed75174a516b921452fc","impliedFormat":1},{"version":"5581450c9bfffa56208fa69ce62ea33c8671fa34cfdc1eeb262ec7ebf0b5cbf7","impliedFormat":1},{"version":"977997bf4efd7fc8d5b4a78f9474395315189d8d9d92a8280cb35babe0885534","impliedFormat":1},{"version":"dc9f4778bd2d16df16c101704eee59112818857cf58ecb59417633abca828ff0","impliedFormat":1},{"version":"fca70e3e8f1b91b6462c3d22546de7f79acd9fd7eee9b638f7f4bd348c851bd2","impliedFormat":1},{"version":"fb4113fc41b555bb1aa01fb17c66da9be37b734c5b4c4e244f70d7ecb0b7e5c0","impliedFormat":1},{"version":"cec053867ca5fba9e8e966de9bb9e7ad077a9f018175e20de473bf81cdc0b8ff","impliedFormat":1},{"version":"ab87e9e4b1a7594e4c476f6d1b7337ef2ecbdd8567ecc62af235eb84800aa7c6","signature":"80929751b3512388f49be15d8d4e2c64e6cbb2c0377112ea354a6f328bab4c4c"},"042bd95c78f3a2be4fa69bff4cc2921d64ee9bf19dcbf4a797fa80a057b3b207","bc3b0259a1ad25737fb2eb2797f2f7f66a8995d1282d0edfc0490a2f68d25a13",{"version":"a87e5902fd92d16a80e0020ac03d6477bc2e7a6f5b0407a73aff6b7aa9e01d55","impliedFormat":99},"21a44ac96c8100b4a7094d990c022bc5c6397c460f4ac635606c94ed0e63e92f",{"version":"0bd34b5fcc75a9759fcc84590bd53d051538f2e4ec74b2bbbb528cd99bbcc4a9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"f63cb353cd53da6be4a34f6fdece6316dac14fd62cccf9a4d2ce6bab2c37bc8c","impliedFormat":1},{"version":"54751c34f1e8c3bedd7a4501762c8a9567160ac76bd6bc35b73429d3e2cf2ec7","impliedFormat":1},{"version":"012674f382c4ea57a786a14846c51f66be1178344c417deab7ba4a61f6e2ab73","signature":"812af862c0c396615ff832517dd1164ff27109d7b336820816c1d412b24e5f42"},{"version":"054f69d75ca98184ec41df2dc02018bbd98e765a375e6a721fcf7f5389851ce4","signature":"a471648df963db57624da50ad85e089d6ea47f68e51592841b6bb410fad5a6d8"},{"version":"fa9873e223e7db896b1647c3720e9906cb6bdcf6109b41c1062f5a9c99d12a5c","signature":"6bd61ef2b67380c476cc3e15a833d3637feebe8222e1954d1e692f241c4eb1e4"},{"version":"79d46f8b32eac9be956b77099fbb76cc2b09b2777e26b8b52962304a70a88f43","signature":"22718c765fcbb69fb9888658357d62722e73f3150d1c4013fab6c0ec433b13b6"},{"version":"7aa0ed3720cc8b0337e9676a32eadb037a4677b368ee93123b262cc7dc48db38","signature":"3b1f8c50298ac4801b98aaaefdd79b7f2d6bb9060dba669e751825749fa29f27"},{"version":"a89777b4f82b0de08d19a2a80466647806f26599b652bb27c8f1b5e1f8218ce1","signature":"9a3a299acf95f53de27435585bcf863e20b2a5946bcee929eaf8d8beb3845198"},{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"e2b48abff5a8adc6bb1cd13a702b9ef05e6045a98e7cfa95a8779b53b6d0e69d","impliedFormat":1},{"version":"a02d26c056491b1ddfa53a671ad60ce852969b369f0e71993dbac8ddcf0d038b","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"11443a1dcfaaa404c68d53368b5b818712b95dd19f188cab1669c39bee8b84b3","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"035d0934d304483f07148427a5bd5b98ac265dae914a6b49749fe23fbd893ec7","impliedFormat":99},{"version":"e2ed5b81cbed3a511b21a18ab2539e79ac1f4bc1d1d28f8d35d8104caa3b429f","impliedFormat":99},{"version":"b8caba62c0d2ef625f31cbb4fde09d851251af2551086ccf068611b0a69efd81","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"33f3718dababfc26dfd9832c150149ea4e934f255130f8c118a59ae69e5ed441","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1bb61aa2f08ab4506d41dbe16c5f3f5010f014bbf46fa3d715c0cbe3b00f4e1c","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"e42820cd611b15910c204cd133f692dcd602532b39317d4f2a19389b27e6f03d","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"7870becb94cbc11d2d01b77c4422589adcba4d8e59f726246d40cd0d129784d8","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"f70b8328a15ca1d10b1436b691e134a49bc30dcf3183a69bfaa7ba77e1b78ecd","impliedFormat":1},{"version":"ff3660e2664e6096196280deb4e176633b1bb1e58a7dcc9b021ec0e913a6f96f","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"83ab446a053419dfd8e40526abf297c4d9d11f175b05512de1915a8ab7697b67","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"81e634f1c5e1ca309e7e3dc69e2732eea932ef07b8b34517d452e5a3e9a36fa3","impliedFormat":99},{"version":"4e238ace06d3b49ea02f6a1170259e6a803154b03bfd069e5e83d8d0053fbae7","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"d6b4dfab234307239ca8f1329870f6c10341447fc0581388f8d99565e550ffe9","impliedFormat":99},{"version":"1f7e5e81b810bae68833b9f78c276ee929dbc7e9c4c2791bc70a257fbb9f6e78","impliedFormat":99},{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"962c383ff23b17cdd39586e17bb7c3f01ecf0403c0e8d6fbf2f1e69d972c0fc5","affectsGlobalScope":true,"impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"4b2bcddb85fe211e040d25623b4615abf53f11a43c2c59539a480f0ab95cdd3c","impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"4c8ca51077f382498f47074cf304d654aba5d362416d4f809dfdd5d4f6b3aaca","impliedFormat":1},{"version":"c6bddf16578495abc8b5546850b047f30c4b5a2a2b7fecefc0e11a44a6e91399","impliedFormat":1},{"version":"c6a9615d13b98f555a54aaa7850bc3d061ffbfe6e14ad9356de3b44294510344","impliedFormat":99},{"version":"582a39d3ee86cdfb7316d8ec51da53510b1824b896963cb4955d21f49b0570aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[212,217],301],"options":{"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":false,"target":2,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[280,1],[279,2],[232,2],[209,3],[208,4],[131,5],[132,5],[133,6],[91,7],[134,8],[135,9],[136,10],[86,2],[89,11],[87,2],[88,2],[137,12],[138,13],[139,14],[140,15],[141,16],[142,17],[143,17],[145,2],[144,18],[146,19],[147,20],[148,21],[130,22],[90,2],[149,23],[150,24],[151,25],[184,26],[152,27],[153,28],[154,29],[155,30],[156,31],[157,32],[158,33],[159,34],[160,35],[161,36],[162,36],[163,37],[164,2],[165,2],[166,38],[168,39],[167,40],[169,41],[170,42],[171,43],[172,44],[173,45],[174,46],[175,47],[176,48],[177,49],[178,50],[179,51],[180,52],[181,53],[182,54],[183,55],[290,56],[268,57],[266,2],[267,2],[218,2],[229,58],[224,59],[227,60],[281,61],[273,2],[276,62],[275,63],[286,63],[274,64],[289,2],[226,65],[228,65],[220,66],[223,67],[269,66],[225,68],[219,2],[92,2],[191,69],[192,69],[194,70],[193,69],[189,71],[190,72],[202,73],[195,74],[196,75],[197,75],[201,76],[198,2],[199,2],[200,74],[188,77],[185,2],[187,2],[186,2],[240,2],[297,78],[299,79],[298,80],[296,81],[295,2],[206,2],[257,82],[255,83],[256,84],[244,85],[245,83],[252,86],[243,87],[248,88],[258,2],[249,89],[254,90],[260,91],[259,92],[242,93],[250,94],[251,95],[246,96],[253,82],[247,97],[210,2],[211,98],[234,99],[233,100],[241,2],[282,2],[221,2],[222,101],[85,102],[81,103],[83,103],[82,103],[84,103],[80,2],[78,2],[79,2],[13,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[24,2],[25,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[56,2],[57,2],[59,2],[58,2],[60,2],[61,2],[10,2],[62,2],[63,2],[64,2],[11,2],[65,2],[66,2],[67,2],[68,2],[69,2],[1,2],[70,2],[71,2],[12,2],[75,2],[73,2],[77,2],[72,2],[76,2],[74,2],[108,104],[118,105],[107,104],[128,106],[99,107],[98,108],[127,4],[121,109],[126,110],[101,111],[115,112],[100,113],[124,114],[96,115],[95,4],[125,116],[97,117],[102,118],[103,2],[106,118],[93,2],[129,119],[119,120],[110,121],[111,122],[113,123],[109,124],[112,125],[122,4],[104,126],[105,127],[114,128],[94,129],[117,120],[116,118],[120,2],[123,130],[284,131],[271,132],[272,131],[270,2],[265,133],[239,134],[238,135],[236,135],[235,2],[237,136],[263,2],[262,2],[261,2],[264,137],[283,138],[277,139],[285,140],[231,141],[291,142],[293,143],[287,144],[294,145],[292,146],[288,147],[278,148],[300,149],[230,2],[203,2],[216,150],[301,151],[215,152],[212,153],[214,154],[213,155],[217,2],[205,156],[204,2],[207,157]],"version":"5.8.3"}
|
package/build/src/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Cli as ae,Builtins as re}from"clipanion";var H="Notion CLI",W="1.4.
|
|
1
|
+
import{Cli as ae,Builtins as re}from"clipanion";var H="Notion CLI",W="1.4.7";import{Option as $,Command as be}from"clipanion";import{NotionAPI as j}from"@texonom/nclient";import{getBlockTitle as E,getCanonicalPageId as U,parsePageId as G,formatDate as Y,getTextContent as O,getBlockParent as ie,defaultMapImageUrl as ne,getAllInSpace as se,getPageTitle as D,recursivePageTree as ce}from"@texonom/nutils";import{join as x}from"path";import{mkdir as q,readFile as N}from"fs/promises";import F from"JSONStream";import L from"graceful-fs";import{promisify as le}from"util";import X from"stream";import{format as de}from"prettier";import{isCollection as K,isSpace as ue}from"@texonom/ntypes";var Q=le(L.writeFile),A=(c,t,e="https://texonom.com")=>`${e}/${U(c,t)}`,J=class{constructor(t){this.promises=[];this.folder="texonom-raw";this.md="texonom-md";this.domain="https://texonom.com";this.validation=!0;this.update=!1;this.recursive=!1;this.prefetch=!1;this.load=!1;this.raw=!1;this.dataset=!1;this.debug=!1;this.wait=5;this.page=G(t.page),this.folder=t.folder??this.folder,this.domain=t.domain??this.domain,this.md=t.md??this.md,this.validation=t.validation??this.validation,this.update=t.update??this.update,this.recursive=t.recursive??this.recursive,this.prefetch=t.prefetch??this.prefetch,this.load=t.load??this.load,this.raw=t.raw??this.raw,this.dataset=t.dataset??this.dataset,this.token=t.token,this.notion=new j({authToken:this.token}),this.validation&&(Q=async()=>{})}async execute(){let t=G(this.page);if(this.load&&(console.time("Load raw data"),await this.loadRaw(),console.timeEnd("Load raw data")),this.prefetch&&(console.time("Fetch raw data"),await this.fetchRawSpace(t),console.timeEnd("Fetch raw data")),this.raw)console.time("Export raw files"),this.recursive?await this.saveRawSpace():await this.saveRawPage(t),console.timeEnd("Export raw files");else{console.time("Extract markdown"),await this.exportMd(t),console.timeEnd("Extract markdown");let e={id:this.page,title:E(this.recordMap.block[this.page].value,this.recordMap),blocks:1,pages:1,children:[],type:"page"};ce(this.recordMap,e),this.pageTree=e}await Promise.all(this.promises),this.update&&(this.recursive?await this.saveRawSpace():await this.saveRawPage(t))}async loadRaw(){let{recordMap:t,pageTree:e,pageMap:o}=await pe(this.folder);this.recordMap=t,this.pageTree=e,this.pageMap=o}async fetchRawSpace(t){let{recordMap:e,pageTree:o,pageMap:r}=await se(t,this.notion.getPage.bind(this.notion),this.notion.getBlocks.bind(this.notion),this.notion.fetchCollections.bind(this.notion),{startRecordMap:this.recordMap,collectionConcurrency:100,concurrency:100,fetchOption:{timeout:1e4},debug:this.debug});this.pageMap=r,this.recordMap=e,this.pageTree=o}async saveRawSpace(){if(this.validation)return;await q(this.folder,{recursive:!0});let t=[];await q(x(this.folder,"recordMap"),{recursive:!0});for(let e in this.recordMap)this.saveJson(x("recordMap",e),this.recordMap[e]);this.saveJson("pageMap",this.pageMap),this.saveJson("pageTree",this.pageTree),await Promise.all(t)}saveJson(t,e){if(this.validation)return;let o=L.createWriteStream(`${x(this.folder,t)}.json`),r=F.stringifyObject();r.pipe(o);for(let a in e)r.write([a,e[a]]);r.end()}async saveRawPage(t){if(this.validation)return;await q(this.folder,{recursive:!0});let e=await this.notion.getPage(t),o=`${U(t,e)}`,r=JSON.stringify(e),a="json";r=await de(r,{parser:"json"}),await this.writeFile(`${x(this.folder,o)}.${a}`,r)}async writeFile(t,e){if(this.folder)await Q(t,e);else return}async exportMd(t){await q(this.md,{recursive:!0});try{let e=this.pageMap&&this.pageMap[t];e||(console.warn(`Missing from pageMap ${t}`),e=await this.notion.getPage(t)),this.recursive||(this.recordMap=e);try{e||(e=await this.notion.getPage(t))}catch{return}if(!["page","collection_view_page"].includes(e.block[t].value.type))throw new Error("Not a page");let o=await this.pageToMarkdown(t,e);this.pageMap[t]||(this.pageMap[t]=e);let r=x(this.md,`${U(t,e)}`);this.promises.push(this.writeFile(`${r}.md`,o))}catch(e){console.error(t,e)}}async pageToMarkdown(t,e){let o=await this.pageToMarkdownObj(t,e),r=`---
|
|
2
2
|
Title: ${o.title}
|
|
3
3
|
`;r+=`Parent: ${o.parent}
|
|
4
4
|
`;let a=Object.keys(o).filter(i=>!["title","parent","body"].includes(i));for(let i of a)r+=`${i}: ${o[i]}
|
package/build/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main.ts","../../package.json","../../src/notion/export.ts","../../src/notion/index.ts","../../src/treemap.ts","../../src/stats.ts"],"sourcesContent":["import { Cli, Builtins } from 'clipanion'\n\nimport { version, displayName } from '../package.json'\nimport { NotionExportCommand } from './notion/export'\n\nconst cli = new Cli({\n binaryName: 'notion',\n binaryLabel: displayName,\n binaryVersion: version\n})\n\ncli.register(NotionExportCommand)\ncli.register(Builtins.HelpCommand)\ncli.register(Builtins.VersionCommand)\ncli.runExit(process.argv.slice(2), Cli.defaultContext)\n\nexport * from './notion/export'\nexport * from './notion/index'\nexport * from './treemap'\nexport * from './stats'\n","{\n \"name\": \"@texonom/cli\",\n \"displayName\": \"Notion CLI\",\n \"version\": \"1.4.6\",\n \"type\": \"module\",\n \"description\": \"Texonom CLI which has ability to export data from Notion.so\",\n \"repository\": \"texonom/notion-node\",\n \"author\": \"Seonglae Cho <sungle3737@gmail.com>\",\n \"license\": \"MIT\",\n \"main\": \"./build/src/main.js\",\n \"module\": \"./build/src/main.js\",\n \"types\": \"./build/src/main.d.ts\",\n \"sideEffects\": false,\n \"files\": [\n \"build\"\n ],\n \"engines\": {\n \"node\": \">=22.16.0\"\n },\n \"bin\": {\n \"notion\": \"./build/src/main.js\"\n },\n \"scripts\": {\n \"build\": \"tsc && tsup\",\n \"watch\": \"tsup --watch --silent --onSuccess 'echo build successful'\",\n \"test\": \"vitest --run\",\n \"prerelease\": \"standard-version --skip.changelog --prerelease\",\n \"release\": \"standard-version --release-as\",\n \"pu\": \"pnpm publish\"\n },\n \"dependencies\": {\n \"@texonom/nclient\": \"workspace:^\",\n \"@texonom/ntypes\": \"workspace:^\",\n \"@texonom/nutils\": \"workspace:^\",\n \"JSONStream\": \"^1.3.5\",\n \"clipanion\": \"^3.2.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"prettier\": \"^3.5.3\"\n },\n \"standard-version\": {\n \"skip\": {\n \"commit\": true,\n \"tag\": true\n }\n },\n \"devDependencies\": {\n \"@types/graceful-fs\": \"^4.1.9\",\n \"@types/jsonstream\": \"^0.8.33\"\n }\n}\n","import { Option, Command } from 'clipanion'\nimport { NotionExporter } from './index'\nimport { generateTreemaps, PageNode } from '../treemap'\nimport { computeStats, writeStats } from '../stats'\n\nexport class NotionExportCommand extends Command {\n static paths = [['export']]\n\n folder = Option.String('-o,--output', 'texonom-raw', {\n description: 'Target root folder to export folder'\n })\n md = Option.String('-m,--md', 'texonom-md', {\n description: 'Target folder to export markdown'\n })\n domain = Option.String('-d,--domain', 'https://texonom.com', {\n description: 'Domain to fill in the link'\n })\n validation = Option.Boolean('-v,--validation', {\n description: 'Validation exported data only'\n })\n update = Option.Boolean('-u,--update', {\n description: 'Update exported data and resave to the --root'\n })\n page = Option.String('-p,--page', {\n required: true,\n description: 'Target page to export'\n })\n recursive = Option.Boolean('-r,--recursive', {\n description: 'Recursively export children'\n })\n prefetch = Option.Boolean('-f, --prefetch', {\n description: 'Prefetch all space for faster export (recommended for exporting all pages in a space)'\n })\n load = Option.Boolean('-l, --load', {\n description: 'Load data from exported cache folder --root'\n })\n raw = Option.Boolean('--raw', {\n description: 'Export raw recordMap JSON data \\n Markdown format do not preserve all information'\n })\n dataset = Option.Boolean('-d, --dataset', {\n description: 'Export as dataset for LLM learning'\n })\n treemap = Option.Boolean('--treemap', {\n description: 'Generate HTML treemap after export'\n })\n stats = Option.Boolean('--stats', {\n description: 'Generate statistics JSON after export'\n })\n token = Option.String('-t,--token', {\n description: 'Notion Access Token'\n })\n wait = Option.Counter('-w,--wait', {\n description: 'Wait couter for missed collection view'\n })\n\n async execute() {\n const exporter = new NotionExporter({\n folder: this.folder,\n validation: this.validation,\n update: this.update,\n page: this.page,\n recursive: this.recursive,\n prefetch: this.prefetch,\n load: this.load,\n raw: this.raw,\n dataset: this.dataset,\n token: this.token\n })\n await exporter.execute()\n\n if (this.treemap || this.stats) if (!exporter.pageTree) await exporter.loadRaw()\n\n const tree = exporter.pageTree as unknown as PageNode\n if (this.treemap && tree) await generateTreemaps(this.folder, tree)\n\n if (this.stats && tree) {\n const stats = computeStats(tree)\n await writeStats(`${this.folder}/stats.json`, stats)\n }\n }\n}\n","import { NotionAPI } from '@texonom/nclient'\nimport {\n getBlockTitle,\n getCanonicalPageId,\n parsePageId,\n formatDate,\n getTextContent,\n getBlockParent,\n defaultMapImageUrl,\n getAllInSpace,\n getPageTitle,\n recursivePageTree\n} from '@texonom/nutils'\nimport { join } from 'path'\nimport { mkdir, readFile } from 'fs/promises'\nimport JSONStream from 'JSONStream'\nimport fs from 'graceful-fs'\nimport { promisify } from 'util'\nimport stream from 'stream'\nimport { format } from 'prettier'\nimport { isCollection, isSpace } from '@texonom/ntypes'\n\nimport type { PageTree } from '@texonom/nutils'\nimport type { ExtendedRecordMap, PageMap, PageBlock, Block, Decoration, CollectionViewBlock } from '@texonom/ntypes'\n\nlet writeFile = promisify(fs.writeFile)\n\nexport const getBlockLink = (blockId: string, recordMap: ExtendedRecordMap, domain = 'https://texonom.com') =>\n `${domain}/${getCanonicalPageId(blockId, recordMap)}`\n\nexport type Markdown = {\n [attre in string]: string\n}\n\nexport class NotionExporter {\n notion: NotionAPI\n recordMap: ExtendedRecordMap\n pageTree: PageTree\n pageMap: PageMap\n promises: Promise<unknown>[] = []\n\n // Options\n folder: string = 'texonom-raw'\n md: string = 'texonom-md'\n domain: string = 'https://texonom.com'\n validation: boolean = true\n update: boolean = false\n page: string\n recursive: boolean = false\n prefetch: boolean = false\n load: boolean = false\n raw: boolean = false\n dataset: boolean = false\n debug: boolean = false\n wait: number = 5\n token: string | undefined\n\n constructor(options: {\n folder?: string\n validation?: boolean\n update?: boolean\n page: string\n recursive?: boolean\n prefetch?: boolean\n md?: string\n domain?: string\n load?: boolean\n raw?: boolean\n dataset?: boolean\n token?: string\n }) {\n this.page = parsePageId(options.page)\n this.folder = options.folder ?? this.folder\n this.domain = options.domain ?? this.domain\n this.md = options.md ?? this.md\n this.validation = options.validation ?? this.validation\n this.update = options.update ?? this.update\n this.recursive = options.recursive ?? this.recursive\n this.prefetch = options.prefetch ?? this.prefetch\n this.load = options.load ?? this.load\n this.raw = options.raw ?? this.raw\n this.dataset = options.dataset ?? this.dataset\n this.token = options.token\n\n this.notion = new NotionAPI({ authToken: this.token })\n if (this.validation) writeFile = async () => {}\n }\n\n async execute() {\n const id = parsePageId(this.page)\n\n // Load\n if (this.load) {\n console.time('Load raw data')\n await this.loadRaw()\n console.timeEnd('Load raw data')\n }\n if (this.prefetch) {\n console.time('Fetch raw data')\n await this.fetchRawSpace(id)\n console.timeEnd('Fetch raw data')\n }\n\n // Save\n if (this.raw) {\n console.time('Export raw files')\n if (this.recursive) await this.saveRawSpace()\n else await this.saveRawPage(id)\n console.timeEnd('Export raw files')\n }\n // Export\n else {\n console.time('Extract markdown')\n await this.exportMd(id)\n console.timeEnd('Extract markdown')\n const pageTree = {\n id: this.page,\n title: getBlockTitle(this.recordMap.block[this.page].value, this.recordMap),\n blocks: 1,\n pages: 1,\n children: [],\n type: 'page'\n }\n recursivePageTree(this.recordMap, pageTree)\n this.pageTree = pageTree\n }\n await Promise.all(this.promises)\n // Update\n if (this.update)\n if (this.recursive) await this.saveRawSpace()\n else await this.saveRawPage(id)\n }\n\n async loadRaw() {\n const { recordMap, pageTree, pageMap } = await loadRaw(this.folder)\n this.recordMap = recordMap\n this.pageTree = pageTree\n this.pageMap = pageMap\n }\n\n async fetchRawSpace(startPage: string) {\n const { recordMap, pageTree, pageMap } = await getAllInSpace(\n startPage,\n this.notion.getPage.bind(this.notion),\n this.notion.getBlocks.bind(this.notion),\n this.notion.fetchCollections.bind(this.notion),\n {\n startRecordMap: this.recordMap,\n collectionConcurrency: 100,\n concurrency: 100,\n fetchOption: { timeout: 10000 },\n debug: this.debug\n }\n )\n this.pageMap = pageMap\n this.recordMap = recordMap\n this.pageTree = pageTree\n }\n\n async saveRawSpace() {\n if (this.validation) return\n await mkdir(this.folder, { recursive: true })\n const promises = []\n await mkdir(join(this.folder, 'recordMap'), { recursive: true })\n for (const table in this.recordMap) this.saveJson(join('recordMap', table), this.recordMap[table])\n this.saveJson('pageMap', this.pageMap)\n this.saveJson('pageTree', this.pageTree)\n await Promise.all(promises)\n }\n\n saveJson(filename: string, object: Record<string, unknown>) {\n if (this.validation) return\n const outputStream = fs.createWriteStream(`${join(this.folder, filename)}.json`)\n const transformStream = JSONStream.stringifyObject()\n transformStream.pipe(outputStream)\n // @ts-ignore\n for (const key in object) transformStream.write([key, object[key]])\n transformStream.end()\n }\n\n async saveRawPage(id: string) {\n if (this.validation) return\n await mkdir(this.folder, { recursive: true })\n const recordMap = await this.notion.getPage(id)\n const filename = `${getCanonicalPageId(id, recordMap)}`\n let target = JSON.stringify(recordMap)\n const ext = 'json'\n target = await format(target, { parser: 'json' })\n await this.writeFile(`${join(this.folder, filename)}.${ext}`, target)\n }\n\n async writeFile(path: string, target: string) {\n if (!this.folder) return\n else await writeFile(path, target)\n }\n\n async exportMd(id: string) {\n await mkdir(this.md, { recursive: true })\n try {\n let recordMap = this.pageMap && this.pageMap[id]\n if (!recordMap) {\n console.warn(`Missing from pageMap ${id}`)\n recordMap = await this.notion.getPage(id)\n }\n if (!this.recursive) this.recordMap = recordMap\n try {\n if (!recordMap) recordMap = await this.notion.getPage(id)\n } catch {\n return\n }\n if (!['page', 'collection_view_page'].includes(recordMap.block[id].value.type)) throw new Error('Not a page')\n const target = await this.pageToMarkdown(id, recordMap)\n if (!this.pageMap[id]) this.pageMap[id] = recordMap\n const path = join(this.md, `${getCanonicalPageId(id, recordMap)}`)\n this.promises.push(this.writeFile(`${path}.md`, target))\n } catch (e) {\n console.error(id, e)\n }\n }\n\n async pageToMarkdown(id: string, recordMap: ExtendedRecordMap) {\n const markdown = await this.pageToMarkdownObj(id, recordMap)\n let md = `---\\nTitle: ${markdown.title}\\n`\n md += `Parent: ${markdown.parent}\\n`\n const attrs = Object.keys(markdown).filter(key => !['title', 'parent', 'body'].includes(key))\n for (const attr of attrs) md += `${attr}: ${markdown[attr]}\\n`\n md += '---\\n'\n md += markdown.body\n return md\n }\n\n async pageToMarkdownObj(id: string, recordMap: ExtendedRecordMap) {\n const page = recordMap.block[id].value as PageBlock\n const markdown: Markdown = {}\n\n // Title\n const title = await this.decorationsToMarkdown(\n page.properties?.title ? page.properties.title : [['Untitled']],\n recordMap\n )\n markdown.title = title\n\n // Parent\n const parentBlock = getBlockParent(page, recordMap)\n let parent: string\n if (isSpace(parentBlock)) parent = parentBlock.name\n else if (isCollection(parentBlock)) parent = getTextContent(parentBlock.name)\n else if (parentBlock) parent = getBlockTitle(parentBlock, recordMap)\n\n // Collection Attributes\n if (isCollection(parent)) {\n const properties = parent?.schema ? Object.keys(parent.schema) : []\n properties.splice(properties.indexOf('title'), 1)\n for (const property of properties) {\n const propName = parent.schema[property].name\n const propType = parent.schema[property].type\n let value = String()\n switch (propType) {\n case 'text':\n value = page?.properties?.[property]\n ? await this.decorationsToMarkdown(page.properties[property], recordMap)\n : ''\n break\n case 'created_by': {\n const user = await this.getUser(page.created_by_id, recordMap)\n value = user ? user.name : 'Unknown'\n break\n }\n case 'last_edited_by': {\n const user = await this.getUser(page.last_edited_by_id, recordMap)\n value = user ? user.name : 'Unknown'\n break\n }\n case 'created_time':\n value = formatDate(page.created_time)\n break\n case 'last_edited_time':\n value = formatDate(page.last_edited_time)\n break\n default:\n value = ''\n }\n markdown[propName] = value\n }\n }\n const body = await this.childrenToMd(page, recordMap, '', page)\n markdown.body = body\n return markdown\n }\n\n async childrenToMd(parentBlock: Block, recordMap: ExtendedRecordMap, prefix: string, page: Block) {\n let md = String()\n let numbering = 1\n for (const child of parentBlock.content ? parentBlock.content : []) {\n const childBlock = await this.getBlock(child, recordMap, `${child} from ${getBlockTitle(page, recordMap)}`)\n if (!childBlock) continue\n\n const title = childBlock?.properties?.title\n switch (childBlock.type) {\n case 'header':\n md += `${prefix}# ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'sub_header':\n md += `${prefix}## ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'sub_sub_header':\n md += `${prefix}### ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'text':\n md += `${prefix}${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'bulleted_list':\n md += `${prefix}- ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'numbered_list':\n md += `${prefix}${numbering++}. ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'to_do':\n md += `${prefix}- [ ] ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'toggle':\n md += `${prefix}<details><summary>${prefix}${prefix}${await this.decorationsToMarkdown(\n title,\n recordMap\n )}</summary>\\n`\n break\n case 'quote':\n md += (await this.decorationsToMarkdown(title, recordMap, `\\n${prefix.trim()}> `)) + '\\n'\n break\n case 'code':\n md += `${prefix}\\`\\`\\`type${await this.decorationsToMarkdown(title, recordMap)}\\`\\`\\``\n break\n case 'equation':\n md += `${prefix}$$${await this.decorationsToMarkdown(title, recordMap)}$$`\n break\n case 'callout': {\n md += (await this.decorationsToMarkdown(title, recordMap, `\\n${prefix.trim()}> `)) + '\\n'\n break\n }\n case 'bookmark': {\n const nesting = `\\n${prefix.trim()}> `\n md += `${nesting}[${getTextContent(\n childBlock.properties?.title ? childBlock.properties.title : [['Untitled']]\n )}](${getTextContent(childBlock.properties.link)})\\n`\n break\n }\n case 'external_object_instance': {\n try {\n const url = childBlock.format.original_url\n const title = childBlock.format.attributes\n ? childBlock.format.attributes.filter(attr => attr.id === 'title')[0]?.values?.[0]\n : url\n if (!url) break\n md += `${prefix}${prefix}[${title}](${url})${prefix}`\n break\n } catch (e) {\n console.error(e, childBlock.id)\n break\n }\n }\n\n // Collection\n case 'collection_view_page':\n case 'collection_view': {\n const collection = await this.getCollection(\n childBlock as CollectionViewBlock,\n recordMap,\n `${childBlock.id} from ${getPageTitle(recordMap)}`\n )\n if (!collection) continue\n\n // Generate Table\n md += `${prefix}### ${await this.decorationsToMarkdown(collection.name, recordMap)}`\n md += `${prefix}|Title|\\n|:-:|`\n const views = childBlock.view_ids\n .map(id => {\n if (!recordMap.collection_view[id]) if (this.debug) console.warn(`Missing view ${id} from ${collection.name}`)\n return recordMap.collection_view[id]?.value\n })\n .filter(Boolean)\n const children = []\n for (const view of views) {\n const results = await this.getCollectionView(\n collection.id,\n view.id,\n recordMap,\n `${collection.name} ${view.name}`\n )\n if (results) for (const result of results.blockIds) children.push(result)\n else break\n }\n for (const childPage of children) {\n const childBlock = recordMap.block[childPage]?.value\n if (!childBlock) if (this.debug) console.warn(`no ${childPage} in ${collection.name[0]}`)\n md += `${prefix}|[${getBlockTitle(childBlock, recordMap)}](${getBlockLink(childPage, recordMap)})|`\n }\n\n // Make children page\n if (this.recursive && children.length)\n for (const childPage of children) this.promises.push(this.exportMd(childPage))\n\n break\n }\n case 'page': {\n md += `${prefix}${prefix}[${getBlockTitle(childBlock, recordMap)}](${getBlockLink(\n childBlock.id,\n recordMap\n )})${prefix}`\n if (this.recursive) this.promises.push(this.exportMd(childBlock.id))\n\n break\n }\n case 'alias': {\n const aliasBlock = recordMap.block[childBlock.format?.alias_pointer?.id]?.value\n if (!aliasBlock) {\n if (this.debug)\n console.warn(\n `Missing alias ${childBlock.format?.alias_pointer?.id} from ${getBlockTitle(page, recordMap)} ${page.id}`\n )\n continue\n }\n md += `${prefix}${prefix}[${getBlockTitle(aliasBlock, recordMap)}](${getBlockLink(\n aliasBlock.id,\n recordMap\n )})${prefix}`\n break\n }\n\n // Media\n case 'image': {\n const caption = childBlock.properties.caption ? getTextContent(childBlock.properties.caption) : ''\n md += `${prefix}})`\n break\n }\n\n case 'video':\n md += `${prefix}<video src=\"${childBlock.format.display_source} />`\n break\n\n // Embed\n case 'file':\n md += `${prefix}[File](${childBlock.format?.display_source})`\n break\n case 'pdf':\n md += `${prefix}<iframe src=\"${childBlock.format?.display_source}\"/>`\n break\n\n // Else\n case 'divider':\n md += `${prefix}---`\n break\n case 'column_list':\n break\n case 'column':\n break\n default:\n md += `${prefix}`\n }\n\n // Finalize\n if (childBlock.content && childBlock.type !== 'page' && childBlock.type !== 'collection_view_page') {\n const nestedPrefix = ['toggle', `transclusion_container`, `transclusion_reference`, 'column_list'].includes(\n childBlock.type\n )\n ? prefix\n : `\\n${prefix.trim()}> `\n md += await this.childrenToMd(childBlock, recordMap, nestedPrefix, page)\n if (childBlock.type === 'column') md += '\\n'\n }\n if (childBlock.type === 'toggle') md += `${prefix}</details>${prefix}`\n }\n return md\n }\n\n async decorationsToMarkdown(decos: Decoration[], recordMap: ExtendedRecordMap, prefix = '') {\n if (!decos) return String()\n let md = String()\n for (const deco of decos) {\n let wrapper = String()\n const [text, subdecos] = deco\n if (!subdecos) {\n md += text\n } else {\n let textonly: string = text\n for (const subdeco of subdecos)\n switch (subdeco[0]) {\n case 'p': {\n const blockId = subdeco[1]\n const linkedBlock = await this.getBlock(blockId, recordMap, `\"p\" ${getPageTitle(recordMap)}`)\n if (!linkedBlock) break\n\n const title = getBlockTitle(linkedBlock, recordMap)\n const url = getBlockLink(blockId, recordMap)\n textonly = `[${title}](${url})`\n break\n }\n case 'a': {\n const url = subdeco[1]\n textonly = `[${text}](${url})`\n break\n }\n case 'i':\n wrapper += '*'\n break\n case 'b':\n wrapper += '**'\n break\n case 'h':\n // Disable for now == syntax does not supported well\n wrapper += ''\n break\n case 'c':\n wrapper += '`'\n break\n case 's':\n wrapper += '~~'\n break\n case 'e':\n wrapper += '$'\n textonly = subdeco[1]\n break\n case 'eoi': {\n try {\n const objectid = subdeco[1]\n const object = await this.getBlock(objectid, recordMap, `\"eoi\" ${getPageTitle(recordMap)}`)\n if (!object) break\n const url = object.format.uri\n const title = object.format.attributes\n ? object.format.attributes?.filter(attr => attr.id === 'title')[0]?.values?.[0]\n : url\n if (!url) break\n textonly = `[${title}](${url})`\n break\n } catch (e) {\n console.error(e, deco)\n break\n }\n }\n case 'u': {\n const user = await this.getUser(subdeco[1], recordMap)\n if (!user) break\n textonly = `[@${user.name}](mailto:${user.email})`\n break\n }\n }\n let decorated: string = textonly\n if (subdecos.find(subdeco => subdeco[0] === '_')) decorated = `<u>${textonly}</u>`\n decorated = wrapper + decorated + wrapper.split('').reverse().join('')\n md += decorated\n }\n }\n const lines = md.split('\\n')\n const prefixed = lines.map(line => prefix + line)\n return prefixed.join('')\n }\n\n async getBlock(id: string, recordMap: ExtendedRecordMap, message = '') {\n let block = recordMap.block[id]?.value\n if (!block && this.recordMap) block = this.recordMap.block[id]?.value\n try {\n if (!block && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getBlocks([id])\n block = response.recordMap?.block?.[id]?.value\n }\n } catch {\n if (!block) if (this.debug) console.warn(`${message} Missing block ${id}`)\n }\n if (block) {\n recordMap.block[id] = { value: block, role: 'reader' }\n if (this.recordMap) this.recordMap.block[id] = { value: block, role: 'reader' }\n }\n return block\n }\n\n async getUser(id: string, recordMap: ExtendedRecordMap) {\n let user = recordMap.notion_user[id]?.value\n if (!user && this.recordMap) user = this.recordMap.notion_user[id]?.value\n try {\n if (!user && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getUsers([id])\n user = response.recordMapWithRoles?.notion_user?.[id]?.value\n }\n } catch {\n if (!user) if (this.debug) console.warn(`Missing user ${id}`)\n }\n if (user) {\n recordMap.notion_user[id] = { value: user, role: 'reader' }\n if (this.recordMap) this.recordMap.notion_user[id] = { value: user, role: 'reader' }\n }\n return user\n }\n\n async getCollection(collectionViewBlock: CollectionViewBlock, recordMap: ExtendedRecordMap, message = '') {\n const collectionId = collectionViewBlock.collection_id\n let collection = recordMap.collection[collectionViewBlock.collection_id]?.value\n if (!collection && this.recordMap) {\n collection = this.recordMap.collection[collectionId]?.value\n if (collection) {\n recordMap.collection[collectionId] = this.recordMap.collection?.[collectionId]\n for (const viewId of collectionViewBlock.view_ids)\n recordMap.collection_view[viewId] = this.recordMap.collection_view?.[viewId]\n }\n }\n try {\n if (!collection && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getPageRaw(collectionViewBlock.id)\n // @wait for rate limit\n sleepSync(1000 * this.wait)\n if (!response.recordMap) console.error(response)\n collection = response.recordMap.collection[collectionId]?.value\n if (collection) {\n recordMap.collection_view = { ...recordMap.collection_view, ...response.recordMap.collection_view }\n recordMap.collection = { ...recordMap.collection, ...response.recordMap.collection }\n recordMap.block = { ...recordMap.block, ...response.recordMap.block }\n this.recordMap.collection_view = { ...this.recordMap.collection_view, ...response.recordMap.collection_view }\n this.recordMap.collection = { ...this.recordMap.collection, ...response.recordMap.collection }\n this.recordMap.block = { ...this.recordMap.block, ...response.recordMap.block }\n }\n }\n } catch {\n if (!collection) if (this.debug) console.warn(`${message} Missing collection block ${collectionViewBlock.id}`)\n }\n await this.getCollectionView(collectionId, collectionViewBlock.view_ids[0], recordMap, message)\n return collection\n }\n\n async getCollectionView(collectionId: string, viewId: string, recordMap: ExtendedRecordMap, message = '') {\n let results = recordMap.collection_query?.[collectionId]?.[viewId]?.collection_group_results\n if (!results && this.recordMap) {\n results = this.recordMap.collection_query?.[collectionId]?.[viewId]?.collection_group_results\n if (results) {\n recordMap.collection_query![collectionId] = {\n ...recordMap.collection_query![collectionId],\n [viewId]: this.recordMap.collection_query?.[collectionId]?.[viewId]\n }\n this.recordMap.collection_query![collectionId] = {\n ...this.recordMap.collection_query![collectionId],\n [viewId]: this.recordMap.collection_query?.[collectionId]?.[viewId]\n }\n recordMap.collection![collectionId] = {\n ...recordMap.collection![collectionId],\n [viewId]: this.recordMap.collection?.[collectionId]?.[viewId]\n }\n this.recordMap.collection![collectionId] = {\n ...this.recordMap.collection![collectionId],\n [viewId]: this.recordMap.collection?.[collectionId]?.[viewId]\n }\n }\n }\n try {\n if (!results && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getCollectionData(collectionId, viewId, recordMap.collection_view[viewId]?.value)\n results = response.result?.reducerResults?.collection_group_results\n if (results) {\n recordMap.collection_query![collectionId] = {\n ...recordMap.collection_query![collectionId],\n [viewId]: response.result?.reducerResults\n }\n if (this.recordMap)\n this.recordMap.collection_query![collectionId] = {\n ...this.recordMap.collection_query![collectionId],\n [viewId]: response.result?.reducerResults\n }\n for (const blockId in response.recordMap.block) {\n const block = response.recordMap.block[blockId].value\n if (block) {\n recordMap.block[blockId] = { value: block, role: 'reader' }\n if (this.recordMap) this.recordMap.block[blockId] = { value: block, role: 'reader' }\n }\n }\n for (const collection in response.recordMap.collection) {\n const collectionValue = response.recordMap.collection[collection].value\n if (collectionValue) {\n recordMap.collection[collection] = { value: collectionValue, role: 'reader' }\n if (this.recordMap) this.recordMap.collection[collection] = { value: collectionValue, role: 'reader' }\n }\n }\n for (const collectionView in response.recordMap.collection_view) {\n const collectionViewValue = response.recordMap.collection_view[collectionView].value\n if (collectionViewValue) {\n recordMap.collection_view[collectionView] = { value: collectionViewValue, role: 'reader' }\n if (this.recordMap)\n this.recordMap.collection_view[collectionView] = { value: collectionViewValue, role: 'reader' }\n }\n }\n }\n }\n } catch {\n if (!results) if (this.debug) console.warn(`${message} Missing collection view ${viewId}`)\n }\n return results\n }\n\n async getSpace(id: string, recordMap: ExtendedRecordMap) {\n let space = recordMap.space[id]?.value\n if (!space && this.recordMap) space = this.recordMap.space[id]?.value\n try {\n if (!space && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getSpaces([id])\n space = response.recordMapWithRoles?.space?.[id]?.value\n if (space) {\n recordMap.space[id] = { value: space, role: 'reader' }\n if (this.recordMap) this.recordMap.space[id] = { value: space, role: 'reader' }\n }\n }\n } catch {\n if (!space) if (this.debug) console.warn(`Missing space ${id}`)\n }\n return space\n }\n}\n\nexport async function loadRaw(\n folder: string\n): Promise<{ recordMap: ExtendedRecordMap; pageTree: PageTree; pageMap: PageMap }> {\n const promises = []\n promises.push(readFile(join(folder, 'recordMap', 'block.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'notion_user.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'space.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection_view.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection_query.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'signed_urls.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'pageTree.json'), 'utf8').then(JSON.parse))\n\n const [block, collection, notion_user, space, collection_view, collection_query, signed_urls, pageTree] =\n await Promise.all(promises)\n\n const pageMap = {}\n const inputStream = fs.createReadStream(join(folder, 'pageMap.json'))\n const parseStream = JSONStream.parse('*')\n inputStream.pipe(parseStream)\n parseStream.on('data', (recordMap: ExtendedRecordMap) => {\n const key = Object.keys(recordMap.block)[0]\n pageMap[key] = recordMap\n })\n await new Promise(res => stream.finished(parseStream, err => res(err)))\n const recordMap: ExtendedRecordMap = {\n block,\n collection,\n notion_user,\n space,\n collection_query,\n collection_view,\n signed_urls\n }\n return { recordMap, pageTree, pageMap }\n}\n\nexport async function loadJson<C>(folder: string, filename: string): Promise<C> {\n const object = {} as C\n const inputStream = fs.createReadStream(join(folder, `${filename}.json`))\n const parseStream = JSONStream.parse('*')\n inputStream.pipe(parseStream)\n parseStream.on('*', ([key, value]) => {\n object[key] = value\n })\n return new Promise(res =>\n stream.finished(parseStream, err => {\n console.error(err)\n res(object)\n })\n )\n}\n\nconst sleepSync = (ms: number) => {\n const sharedBuffer = new Int32Array(new SharedArrayBuffer(4))\n Atomics.wait(sharedBuffer, 0, 0, ms)\n}\n","import fs from 'fs'\nimport { promisify } from 'util'\n\nexport interface PageNode {\n id: string\n blocks: number\n pages: number\n title: string\n children?: PageNode[]\n}\n\nconst writeFile = promisify(fs.writeFile)\n\nexport async function generateTreemaps(folder: string, pageTree: PageNode) {\n const treemapDataPages = computeMetrics(pageTree, 'pages')\n const titlePages = 'Texonom PageTree'\n const outputPathPages = `${folder}/pagetree.html`\n await generateTreemapHTML(treemapDataPages, titlePages, outputPathPages)\n\n const treemapDataBlocks = computeMetrics(pageTree, 'blocks')\n const titleBlocks = 'Texonom BlockMap'\n const outputPathBlocks = `${folder}/blocktree.html`\n await generateTreemapHTML(treemapDataBlocks, titleBlocks, outputPathBlocks)\n}\n\ninterface TreemapNode {\n id: string\n name: string\n value: number\n children?: TreemapNode[]\n}\n\nfunction computeMetrics(pageTree: PageNode, metric: 'blocks' | 'pages'): TreemapNode | null {\n function recurse(node: PageNode): TreemapNode | null {\n const children = node.children ? node.children.map(recurse).filter((child): child is TreemapNode => child !== null) : []\n let nodeValue = node[metric] || 0\n\n // Sum the values of the children\n if (children.length > 0) {\n const childrenValue = children.reduce((sum, child) => sum + child.value, 0)\n if (nodeValue === 0) nodeValue = childrenValue\n }\n\n // Exclude nodes with zero value\n if (nodeValue <= 0) return null\n\n return {\n id: node.id,\n name: node.title,\n value: nodeValue,\n children: children.length > 0 ? children : undefined\n }\n }\n return recurse(pageTree)\n}\n\nasync function generateTreemapHTML(data: TreemapNode, title: string, outputPath: string) {\n const htmlContent = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<title>${title}</title>\n<style>\n body {\n margin: 0;\n font-family: sans-serif;\n background-color: #202229;\n }\n .header {\n text-align: center;\n margin: 20px;\n font-size: 24px;\n color: white;\n }\n .breadcrumb {\n text-align: center;\n margin: 10px;\n font-size: 16px;\n color: white;\n }\n .current-title {\n text-align: center;\n margin: 10px;\n font-size: 18px;\n color: white;\n }\n .chart {\n width: 100%;\n height: 70vh;\n margin: auto;\n position: relative;\n }\n .node rect {\n cursor: pointer;\n stroke: #fff;\n stroke-width: 1px;\n rx: 8;\n ry: 8;\n }\n .label {\n text-anchor: middle;\n fill: white;\n text-decoration: underline;\n cursor: pointer;\n }\n .count {\n text-anchor: middle;\n fill: lightgray;\n }\n</style>\n</head>\n<body>\n<div class=\"header\">${title}</div>\n<div class=\"breadcrumb\" id=\"breadcrumb\"></div>\n<div class=\"current-title\" id=\"current-title\"></div>\n<div class=\"chart\" id=\"chart\"></div>\n<script src=\"https://d3js.org/d3.v6.min.js\"></script>\n<script>\n var data = ${JSON.stringify(data)};\n\n var margin = {top: 20, right: 0, bottom: 0, left: 0},\n width = document.getElementById('chart').clientWidth,\n height = document.getElementById('chart').clientHeight;\n\n var color = d3.scaleOrdinal()\n .domain([0, 1, 2, 3, 4, 5])\n .range([\"#465881\", \"#5f6d96\", \"#7882ab\", \"#9197c0\"]);\n\n var x = d3.scaleLinear()\n .domain([0, width])\n .range([0, width]);\n\n var y = d3.scaleLinear()\n .domain([0, height])\n .range([0, height]);\n\n var treemapLayout = d3.treemap()\n .size([width, height])\n .paddingInner(2)\n .round(false);\n\n var root = d3.hierarchy(data)\n .sum(function(d) { return d.value; })\n .sort(function(a, b) { return b.value - a.value; });\n\n treemapLayout(root);\n\n var svg = d3.select(\"#chart\").append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .style(\"font\", \"10px sans-serif\")\n .style(\"position\", \"relative\");\n\n display(root);\n\n function display(d) {\n var currentDepth = d.depth;\n\n // Update breadcrumb\n var breadcrumb = d.ancestors().reverse().map(function(d) {\n return '<span class=\"breadcrumb-item\" data-id=\"' + d.data.id + '\">' + d.data.name + '</span>';\n }).join(' / ');\n document.getElementById('breadcrumb').innerHTML = breadcrumb;\n\n // Add click events to breadcrumb\n var breadcrumbItems = document.querySelectorAll('.breadcrumb-item');\n breadcrumbItems.forEach(function(item) {\n item.addEventListener('click', function(event) {\n var id = event.target.getAttribute('data-id');\n var node = findNodeById(root, id);\n if (node) {\n zoom(node);\n }\n });\n });\n\n // Update current title\n document.getElementById('current-title').innerText = d.data.name;\n\n x.domain([d.x0, d.x1]);\n y.domain([d.y0, d.y1]);\n\n var nodes = d.descendants().filter(function(node) {\n return node.depth - currentDepth <= 1 && node.depth >= currentDepth;\n });\n\n svg.selectAll(\".node\").remove();\n\n var cell = svg.selectAll(\".node\")\n .data(nodes)\n .enter().append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", function(d) { return \"translate(\" + x(d.x0) + \",\" + y(d.y0) + \")\"; })\n .on(\"click\", function(event, d) {\n if (d.children) {\n zoom(d);\n } else {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n }\n event.stopPropagation();\n });\n\n cell.append(\"rect\")\n .attr(\"id\", function(d) { return d.data.id; })\n .attr(\"width\", function(d) { return x(d.x1) - x(d.x0); })\n .attr(\"height\", function(d) { return y(d.y1) - y(d.y0); })\n .attr(\"fill\", function(d) { return color(d.depth); })\n .attr(\"rx\", 8)\n .attr(\"ry\", 8);\n\n cell.append(\"text\")\n .attr(\"class\", \"label\")\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2; })\n .text(function(d) { return d.data.name; })\n .style(\"font-size\", function(d) {\n var boxArea = (x(d.x1) - x(d.x0)) * (y(d.y1) - y(d.y0));\n var size = Math.max(10, Math.min(30, Math.sqrt(boxArea) / 5));\n return size + \"px\";\n })\n .on(\"click\", function(event, d) {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n event.stopPropagation();\n });\n\n cell.append(\"text\")\n .attr(\"class\", \"count\")\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2 + 20; })\n .text(function(d) { return d.data.value; })\n .style(\"fill\", \"lightgray\")\n .style(\"font-size\", \"0.8rem\");\n }\n\n function zoom(d) {\n var currentDepth = d.depth;\n\n // Update breadcrumb\n var breadcrumb = d.ancestors().reverse().map(function(d) {\n return '<span class=\"breadcrumb-item\" data-id=\"' + d.data.id + '\">' + d.data.name + '</span>';\n }).join(' / ');\n document.getElementById('breadcrumb').innerHTML = breadcrumb;\n\n // Add click events to breadcrumb\n var breadcrumbItems = document.querySelectorAll('.breadcrumb-item');\n breadcrumbItems.forEach(function(item) {\n item.addEventListener('click', function(event) {\n var id = event.target.getAttribute('data-id');\n var node = findNodeById(root, id);\n if (node) {\n zoom(node);\n }\n });\n });\n\n // Update current title\n document.getElementById('current-title').innerText = d.data.name;\n\n var t = svg.transition()\n .duration(750);\n\n x.domain([d.x0, d.x1]);\n y.domain([d.y0, d.y1]);\n\n var nodes = d.descendants().filter(function(node) {\n return node.depth - currentDepth <= 1 && node.depth >= currentDepth;\n });\n\n var cell = svg.selectAll(\".node\")\n .data(nodes, function(d) { return d.data.id; });\n\n cell.exit().remove();\n\n var cellEnter = cell.enter().append(\"g\")\n .attr(\"class\", \"node\")\n .on(\"click\", function(event, d) {\n if (d.children) {\n zoom(d);\n } else {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n }\n event.stopPropagation();\n });\n\n cellEnter.append(\"rect\")\n .attr(\"id\", function(d) { return d.data.id; })\n .attr(\"fill\", function(d) { return color(d.depth); })\n .attr(\"rx\", 8)\n .attr(\"ry\", 8);\n\n cellEnter.append(\"text\")\n .attr(\"class\", \"label\")\n .style(\"fill\", \"white\")\n .on(\"click\", function(event, d) {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n event.stopPropagation();\n });\n\n cellEnter.append(\"text\")\n .attr(\"class\", \"count\")\n .style(\"fill\", \"lightgray\")\n .style(\"font-size\", \"0.8rem\");\n\n cell = cellEnter.merge(cell);\n\n cell.transition(t)\n .attr(\"transform\", function(d) { return \"translate(\" + x(d.x0) + \",\" + y(d.y0) + \")\"; });\n\n cell.select(\"rect\").transition(t)\n .attr(\"width\", function(d) { return x(d.x1) - x(d.x0); })\n .attr(\"height\", function(d) { return y(d.y1) - y(d.y0); });\n\n cell.select(\".label\").transition(t)\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2; })\n .text(function(d) { return d.data.name; })\n .style(\"font-size\", function(d) {\n var boxArea = (x(d.x1) - x(d.x0)) * (y(d.y1) - y(d.y0));\n var size = Math.max(10, Math.min(30, Math.sqrt(boxArea) / 5));\n return size + \"px\";\n });\n\n cell.select(\".count\").transition(t)\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2 + 20; })\n .text(function(d) { return d.data.value; });\n }\n\n function findNodeById(node, id) {\n if (node.data.id === id) {\n return node;\n }\n if (node.children) {\n for (var child of node.children) {\n var result = findNodeById(child, id);\n if (result) return result;\n }\n }\n return null;\n }\n</script>\n</body>\n</html>\n `\n\n await writeFile(outputPath, htmlContent, 'utf8')\n}\n","import type { PageNode } from './treemap'\n\nexport interface ExportStats {\n totalPages: number\n totalBlocks: number\n maxDepth: number\n}\n\nexport function computeStats(pageTree: PageNode): ExportStats {\n let totalPages = 0\n let totalBlocks = 0\n let maxDepth = 0\n\n function traverse(node: PageNode, depth: number) {\n totalPages += node.pages || 0\n totalBlocks += node.blocks || 0\n if (depth > maxDepth) maxDepth = depth\n if (node.children) for (const child of node.children) traverse(child, depth + 1)\n }\n\n traverse(pageTree, 1)\n return { totalPages, totalBlocks, maxDepth }\n}\n\nexport async function writeStats(file: string, stats: ExportStats) {\n const fs = await import('fs/promises')\n await fs.writeFile(file, JSON.stringify(stats, null, 2), 'utf8')\n}\n"],"mappings":"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","names":["Cli","Builtins","displayName","version","Option","Command","NotionAPI","getBlockTitle","getCanonicalPageId","parsePageId","formatDate","getTextContent","getBlockParent","defaultMapImageUrl","getAllInSpace","getPageTitle","recursivePageTree","join","mkdir","readFile","JSONStream","fs","promisify","stream","format","isCollection","isSpace","writeFile","getBlockLink","blockId","recordMap","domain","NotionExporter","options","id","pageTree","pageMap","loadRaw","startPage","promises","table","filename","object","outputStream","transformStream","key","target","ext","path","markdown","md","attrs","attr","_a","_b","page","title","parentBlock","parent","properties","property","propName","propType","value","user","body","prefix","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","numbering","child","childBlock","nesting","url","e","collection","views","children","view","results","result","childPage","aliasBlock","caption","nestedPrefix","decos","deco","wrapper","text","subdecos","textonly","subdeco","linkedBlock","objectid","decorated","line","message","block","collectionViewBlock","collectionId","viewId","response","sleepSync","_n","_o","_p","_q","_r","_s","collectionValue","collectionView","collectionViewValue","space","folder","notion_user","collection_view","collection_query","signed_urls","inputStream","parseStream","res","err","loadJson","ms","sharedBuffer","fs","promisify","writeFile","generateTreemaps","folder","pageTree","treemapDataPages","computeMetrics","titlePages","outputPathPages","generateTreemapHTML","treemapDataBlocks","titleBlocks","outputPathBlocks","metric","recurse","node","children","child","nodeValue","childrenValue","sum","data","title","outputPath","htmlContent","computeStats","pageTree","totalPages","totalBlocks","maxDepth","traverse","node","depth","child","writeStats","file","stats","NotionExportCommand","Command","Option","exporter","NotionExporter","tree","generateTreemaps","stats","computeStats","writeStats","cli","Cli","displayName","version","NotionExportCommand","Builtins"]}
|
|
1
|
+
{"version":3,"sources":["../../src/main.ts","../../package.json","../../src/notion/export.ts","../../src/notion/index.ts","../../src/treemap.ts","../../src/stats.ts"],"sourcesContent":["import { Cli, Builtins } from 'clipanion'\n\nimport { version, displayName } from '../package.json'\nimport { NotionExportCommand } from './notion/export'\n\nconst cli = new Cli({\n binaryName: 'notion',\n binaryLabel: displayName,\n binaryVersion: version\n})\n\ncli.register(NotionExportCommand)\ncli.register(Builtins.HelpCommand)\ncli.register(Builtins.VersionCommand)\ncli.runExit(process.argv.slice(2), Cli.defaultContext)\n\nexport * from './notion/export'\nexport * from './notion/index'\nexport * from './treemap'\nexport * from './stats'\n","{\n \"name\": \"@texonom/cli\",\n \"displayName\": \"Notion CLI\",\n \"version\": \"1.4.7\",\n \"type\": \"module\",\n \"description\": \"Texonom CLI which has ability to export data from Notion.so\",\n \"repository\": \"texonom/notion-node\",\n \"author\": \"Seonglae Cho <sungle3737@gmail.com>\",\n \"license\": \"MIT\",\n \"main\": \"./build/src/main.js\",\n \"module\": \"./build/src/main.js\",\n \"types\": \"./build/src/main.d.ts\",\n \"sideEffects\": false,\n \"files\": [\n \"build\"\n ],\n \"engines\": {\n \"node\": \">=22.16.0\"\n },\n \"bin\": {\n \"notion\": \"./build/src/main.js\"\n },\n \"scripts\": {\n \"build\": \"tsc && tsup\",\n \"watch\": \"tsup --watch --silent --onSuccess 'echo build successful'\",\n \"test\": \"vitest --run\",\n \"prerelease\": \"standard-version --skip.changelog --prerelease\",\n \"release\": \"standard-version --release-as\",\n \"pu\": \"pnpm publish\"\n },\n \"dependencies\": {\n \"@texonom/nclient\": \"workspace:^\",\n \"@texonom/ntypes\": \"workspace:^\",\n \"@texonom/nutils\": \"workspace:^\",\n \"JSONStream\": \"^1.3.5\",\n \"clipanion\": \"^3.2.1\",\n \"graceful-fs\": \"^4.2.11\",\n \"prettier\": \"^3.5.3\"\n },\n \"standard-version\": {\n \"skip\": {\n \"commit\": true,\n \"tag\": true\n }\n },\n \"devDependencies\": {\n \"@types/graceful-fs\": \"^4.1.9\",\n \"@types/jsonstream\": \"^0.8.33\"\n }\n}\n","import { Option, Command } from 'clipanion'\nimport { NotionExporter } from './index'\nimport { generateTreemaps, PageNode } from '../treemap'\nimport { computeStats, writeStats } from '../stats'\n\nexport class NotionExportCommand extends Command {\n static paths = [['export']]\n\n folder = Option.String('-o,--output', 'texonom-raw', {\n description: 'Target root folder to export folder'\n })\n md = Option.String('-m,--md', 'texonom-md', {\n description: 'Target folder to export markdown'\n })\n domain = Option.String('-d,--domain', 'https://texonom.com', {\n description: 'Domain to fill in the link'\n })\n validation = Option.Boolean('-v,--validation', {\n description: 'Validation exported data only'\n })\n update = Option.Boolean('-u,--update', {\n description: 'Update exported data and resave to the --root'\n })\n page = Option.String('-p,--page', {\n required: true,\n description: 'Target page to export'\n })\n recursive = Option.Boolean('-r,--recursive', {\n description: 'Recursively export children'\n })\n prefetch = Option.Boolean('-f, --prefetch', {\n description: 'Prefetch all space for faster export (recommended for exporting all pages in a space)'\n })\n load = Option.Boolean('-l, --load', {\n description: 'Load data from exported cache folder --root'\n })\n raw = Option.Boolean('--raw', {\n description: 'Export raw recordMap JSON data \\n Markdown format do not preserve all information'\n })\n dataset = Option.Boolean('-d, --dataset', {\n description: 'Export as dataset for LLM learning'\n })\n treemap = Option.Boolean('--treemap', {\n description: 'Generate HTML treemap after export'\n })\n stats = Option.Boolean('--stats', {\n description: 'Generate statistics JSON after export'\n })\n token = Option.String('-t,--token', {\n description: 'Notion Access Token'\n })\n wait = Option.Counter('-w,--wait', {\n description: 'Wait couter for missed collection view'\n })\n\n async execute() {\n const exporter = new NotionExporter({\n folder: this.folder,\n validation: this.validation,\n update: this.update,\n page: this.page,\n recursive: this.recursive,\n prefetch: this.prefetch,\n load: this.load,\n raw: this.raw,\n dataset: this.dataset,\n token: this.token\n })\n await exporter.execute()\n\n if (this.treemap || this.stats) if (!exporter.pageTree) await exporter.loadRaw()\n\n const tree = exporter.pageTree as unknown as PageNode\n if (this.treemap && tree) await generateTreemaps(this.folder, tree)\n\n if (this.stats && tree) {\n const stats = computeStats(tree)\n await writeStats(`${this.folder}/stats.json`, stats)\n }\n }\n}\n","import { NotionAPI } from '@texonom/nclient'\nimport {\n getBlockTitle,\n getCanonicalPageId,\n parsePageId,\n formatDate,\n getTextContent,\n getBlockParent,\n defaultMapImageUrl,\n getAllInSpace,\n getPageTitle,\n recursivePageTree\n} from '@texonom/nutils'\nimport { join } from 'path'\nimport { mkdir, readFile } from 'fs/promises'\nimport JSONStream from 'JSONStream'\nimport fs from 'graceful-fs'\nimport { promisify } from 'util'\nimport stream from 'stream'\nimport { format } from 'prettier'\nimport { isCollection, isSpace } from '@texonom/ntypes'\n\nimport type { PageTree } from '@texonom/nutils'\nimport type { ExtendedRecordMap, PageMap, PageBlock, Block, Decoration, CollectionViewBlock } from '@texonom/ntypes'\n\nlet writeFile = promisify(fs.writeFile)\n\nexport const getBlockLink = (blockId: string, recordMap: ExtendedRecordMap, domain = 'https://texonom.com') =>\n `${domain}/${getCanonicalPageId(blockId, recordMap)}`\n\nexport type Markdown = {\n [attre in string]: string\n}\n\nexport class NotionExporter {\n notion: NotionAPI\n recordMap: ExtendedRecordMap\n pageTree: PageTree\n pageMap: PageMap\n promises: Promise<unknown>[] = []\n\n // Options\n folder: string = 'texonom-raw'\n md: string = 'texonom-md'\n domain: string = 'https://texonom.com'\n validation: boolean = true\n update: boolean = false\n page: string\n recursive: boolean = false\n prefetch: boolean = false\n load: boolean = false\n raw: boolean = false\n dataset: boolean = false\n debug: boolean = false\n wait: number = 5\n token: string | undefined\n\n constructor(options: {\n folder?: string\n validation?: boolean\n update?: boolean\n page: string\n recursive?: boolean\n prefetch?: boolean\n md?: string\n domain?: string\n load?: boolean\n raw?: boolean\n dataset?: boolean\n token?: string\n }) {\n this.page = parsePageId(options.page)\n this.folder = options.folder ?? this.folder\n this.domain = options.domain ?? this.domain\n this.md = options.md ?? this.md\n this.validation = options.validation ?? this.validation\n this.update = options.update ?? this.update\n this.recursive = options.recursive ?? this.recursive\n this.prefetch = options.prefetch ?? this.prefetch\n this.load = options.load ?? this.load\n this.raw = options.raw ?? this.raw\n this.dataset = options.dataset ?? this.dataset\n this.token = options.token\n\n this.notion = new NotionAPI({ authToken: this.token })\n if (this.validation) writeFile = async () => {}\n }\n\n async execute() {\n const id = parsePageId(this.page)\n\n // Load\n if (this.load) {\n console.time('Load raw data')\n await this.loadRaw()\n console.timeEnd('Load raw data')\n }\n if (this.prefetch) {\n console.time('Fetch raw data')\n await this.fetchRawSpace(id)\n console.timeEnd('Fetch raw data')\n }\n\n // Save\n if (this.raw) {\n console.time('Export raw files')\n if (this.recursive) await this.saveRawSpace()\n else await this.saveRawPage(id)\n console.timeEnd('Export raw files')\n }\n // Export\n else {\n console.time('Extract markdown')\n await this.exportMd(id)\n console.timeEnd('Extract markdown')\n const pageTree = {\n id: this.page,\n title: getBlockTitle(this.recordMap.block[this.page].value, this.recordMap),\n blocks: 1,\n pages: 1,\n children: [],\n type: 'page'\n }\n recursivePageTree(this.recordMap, pageTree)\n this.pageTree = pageTree\n }\n await Promise.all(this.promises)\n // Update\n if (this.update)\n if (this.recursive) await this.saveRawSpace()\n else await this.saveRawPage(id)\n }\n\n async loadRaw() {\n const { recordMap, pageTree, pageMap } = await loadRaw(this.folder)\n this.recordMap = recordMap\n this.pageTree = pageTree\n this.pageMap = pageMap\n }\n\n async fetchRawSpace(startPage: string) {\n const { recordMap, pageTree, pageMap } = await getAllInSpace(\n startPage,\n this.notion.getPage.bind(this.notion),\n this.notion.getBlocks.bind(this.notion),\n this.notion.fetchCollections.bind(this.notion),\n {\n startRecordMap: this.recordMap,\n collectionConcurrency: 100,\n concurrency: 100,\n fetchOption: { timeout: 10000 },\n debug: this.debug\n }\n )\n this.pageMap = pageMap\n this.recordMap = recordMap\n this.pageTree = pageTree\n }\n\n async saveRawSpace() {\n if (this.validation) return\n await mkdir(this.folder, { recursive: true })\n const promises = []\n await mkdir(join(this.folder, 'recordMap'), { recursive: true })\n for (const table in this.recordMap) this.saveJson(join('recordMap', table), this.recordMap[table])\n this.saveJson('pageMap', this.pageMap)\n this.saveJson('pageTree', this.pageTree)\n await Promise.all(promises)\n }\n\n saveJson(filename: string, object: Record<string, unknown>) {\n if (this.validation) return\n const outputStream = fs.createWriteStream(`${join(this.folder, filename)}.json`)\n const transformStream = JSONStream.stringifyObject()\n transformStream.pipe(outputStream)\n // @ts-ignore\n for (const key in object) transformStream.write([key, object[key]])\n transformStream.end()\n }\n\n async saveRawPage(id: string) {\n if (this.validation) return\n await mkdir(this.folder, { recursive: true })\n const recordMap = await this.notion.getPage(id)\n const filename = `${getCanonicalPageId(id, recordMap)}`\n let target = JSON.stringify(recordMap)\n const ext = 'json'\n target = await format(target, { parser: 'json' })\n await this.writeFile(`${join(this.folder, filename)}.${ext}`, target)\n }\n\n async writeFile(path: string, target: string) {\n if (!this.folder) return\n else await writeFile(path, target)\n }\n\n async exportMd(id: string) {\n await mkdir(this.md, { recursive: true })\n try {\n let recordMap = this.pageMap && this.pageMap[id]\n if (!recordMap) {\n console.warn(`Missing from pageMap ${id}`)\n recordMap = await this.notion.getPage(id)\n }\n if (!this.recursive) this.recordMap = recordMap\n try {\n if (!recordMap) recordMap = await this.notion.getPage(id)\n } catch {\n return\n }\n if (!['page', 'collection_view_page'].includes(recordMap.block[id].value.type)) throw new Error('Not a page')\n const target = await this.pageToMarkdown(id, recordMap)\n if (!this.pageMap[id]) this.pageMap[id] = recordMap\n const path = join(this.md, `${getCanonicalPageId(id, recordMap)}`)\n this.promises.push(this.writeFile(`${path}.md`, target))\n } catch (e) {\n console.error(id, e)\n }\n }\n\n async pageToMarkdown(id: string, recordMap: ExtendedRecordMap) {\n const markdown = await this.pageToMarkdownObj(id, recordMap)\n let md = `---\\nTitle: ${markdown.title}\\n`\n md += `Parent: ${markdown.parent}\\n`\n const attrs = Object.keys(markdown).filter(key => !['title', 'parent', 'body'].includes(key))\n for (const attr of attrs) md += `${attr}: ${markdown[attr]}\\n`\n md += '---\\n'\n md += markdown.body\n return md\n }\n\n async pageToMarkdownObj(id: string, recordMap: ExtendedRecordMap) {\n const page = recordMap.block[id].value as PageBlock\n const markdown: Markdown = {}\n\n // Title\n const title = await this.decorationsToMarkdown(\n page.properties?.title ? page.properties.title : [['Untitled']],\n recordMap\n )\n markdown.title = title\n\n // Parent\n const parentBlock = getBlockParent(page, recordMap)\n let parent: string\n if (isSpace(parentBlock)) parent = parentBlock.name\n else if (isCollection(parentBlock)) parent = getTextContent(parentBlock.name)\n else if (parentBlock) parent = getBlockTitle(parentBlock, recordMap)\n\n // Collection Attributes\n if (isCollection(parent)) {\n const properties = parent?.schema ? Object.keys(parent.schema) : []\n properties.splice(properties.indexOf('title'), 1)\n for (const property of properties) {\n const propName = parent.schema[property].name\n const propType = parent.schema[property].type\n let value = String()\n switch (propType) {\n case 'text':\n value = page?.properties?.[property]\n ? await this.decorationsToMarkdown(page.properties[property], recordMap)\n : ''\n break\n case 'created_by': {\n const user = await this.getUser(page.created_by_id, recordMap)\n value = user ? user.name : 'Unknown'\n break\n }\n case 'last_edited_by': {\n const user = await this.getUser(page.last_edited_by_id, recordMap)\n value = user ? user.name : 'Unknown'\n break\n }\n case 'created_time':\n value = formatDate(page.created_time)\n break\n case 'last_edited_time':\n value = formatDate(page.last_edited_time)\n break\n default:\n value = ''\n }\n markdown[propName] = value\n }\n }\n const body = await this.childrenToMd(page, recordMap, '', page)\n markdown.body = body\n return markdown\n }\n\n async childrenToMd(parentBlock: Block, recordMap: ExtendedRecordMap, prefix: string, page: Block) {\n let md = String()\n let numbering = 1\n for (const child of parentBlock.content ? parentBlock.content : []) {\n const childBlock = await this.getBlock(child, recordMap, `${child} from ${getBlockTitle(page, recordMap)}`)\n if (!childBlock) continue\n\n const title = childBlock?.properties?.title\n switch (childBlock.type) {\n case 'header':\n md += `${prefix}# ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'sub_header':\n md += `${prefix}## ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'sub_sub_header':\n md += `${prefix}### ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'text':\n md += `${prefix}${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'bulleted_list':\n md += `${prefix}- ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'numbered_list':\n md += `${prefix}${numbering++}. ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'to_do':\n md += `${prefix}- [ ] ${await this.decorationsToMarkdown(title, recordMap)}`\n break\n case 'toggle':\n md += `${prefix}<details><summary>${prefix}${prefix}${await this.decorationsToMarkdown(\n title,\n recordMap\n )}</summary>\\n`\n break\n case 'quote':\n md += (await this.decorationsToMarkdown(title, recordMap, `\\n${prefix.trim()}> `)) + '\\n'\n break\n case 'code':\n md += `${prefix}\\`\\`\\`type${await this.decorationsToMarkdown(title, recordMap)}\\`\\`\\``\n break\n case 'equation':\n md += `${prefix}$$${await this.decorationsToMarkdown(title, recordMap)}$$`\n break\n case 'callout': {\n md += (await this.decorationsToMarkdown(title, recordMap, `\\n${prefix.trim()}> `)) + '\\n'\n break\n }\n case 'bookmark': {\n const nesting = `\\n${prefix.trim()}> `\n md += `${nesting}[${getTextContent(\n childBlock.properties?.title ? childBlock.properties.title : [['Untitled']]\n )}](${getTextContent(childBlock.properties.link)})\\n`\n break\n }\n case 'external_object_instance': {\n try {\n const url = childBlock.format.original_url\n const title = childBlock.format.attributes\n ? childBlock.format.attributes.filter(attr => attr.id === 'title')[0]?.values?.[0]\n : url\n if (!url) break\n md += `${prefix}${prefix}[${title}](${url})${prefix}`\n break\n } catch (e) {\n console.error(e, childBlock.id)\n break\n }\n }\n\n // Collection\n case 'collection_view_page':\n case 'collection_view': {\n const collection = await this.getCollection(\n childBlock as CollectionViewBlock,\n recordMap,\n `${childBlock.id} from ${getPageTitle(recordMap)}`\n )\n if (!collection) continue\n\n // Generate Table\n md += `${prefix}### ${await this.decorationsToMarkdown(collection.name, recordMap)}`\n md += `${prefix}|Title|\\n|:-:|`\n const views = childBlock.view_ids\n .map(id => {\n if (!recordMap.collection_view[id]) if (this.debug) console.warn(`Missing view ${id} from ${collection.name}`)\n return recordMap.collection_view[id]?.value\n })\n .filter(Boolean)\n const children = []\n for (const view of views) {\n const results = await this.getCollectionView(\n collection.id,\n view.id,\n recordMap,\n `${collection.name} ${view.name}`\n )\n if (results) for (const result of results.blockIds) children.push(result)\n else break\n }\n for (const childPage of children) {\n const childBlock = recordMap.block[childPage]?.value\n if (!childBlock) if (this.debug) console.warn(`no ${childPage} in ${collection.name[0]}`)\n md += `${prefix}|[${getBlockTitle(childBlock, recordMap)}](${getBlockLink(childPage, recordMap)})|`\n }\n\n // Make children page\n if (this.recursive && children.length)\n for (const childPage of children) this.promises.push(this.exportMd(childPage))\n\n break\n }\n case 'page': {\n md += `${prefix}${prefix}[${getBlockTitle(childBlock, recordMap)}](${getBlockLink(\n childBlock.id,\n recordMap\n )})${prefix}`\n if (this.recursive) this.promises.push(this.exportMd(childBlock.id))\n\n break\n }\n case 'alias': {\n const aliasBlock = recordMap.block[childBlock.format?.alias_pointer?.id]?.value\n if (!aliasBlock) {\n if (this.debug)\n console.warn(\n `Missing alias ${childBlock.format?.alias_pointer?.id} from ${getBlockTitle(page, recordMap)} ${page.id}`\n )\n continue\n }\n md += `${prefix}${prefix}[${getBlockTitle(aliasBlock, recordMap)}](${getBlockLink(\n aliasBlock.id,\n recordMap\n )})${prefix}`\n break\n }\n\n // Media\n case 'image': {\n const caption = childBlock.properties.caption ? getTextContent(childBlock.properties.caption) : ''\n md += `${prefix}})`\n break\n }\n\n case 'video':\n md += `${prefix}<video src=\"${childBlock.format.display_source} />`\n break\n\n // Embed\n case 'file':\n md += `${prefix}[File](${childBlock.format?.display_source})`\n break\n case 'pdf':\n md += `${prefix}<iframe src=\"${childBlock.format?.display_source}\"/>`\n break\n\n // Else\n case 'divider':\n md += `${prefix}---`\n break\n case 'column_list':\n break\n case 'column':\n break\n default:\n md += `${prefix}`\n }\n\n // Finalize\n if (childBlock.content && childBlock.type !== 'page' && childBlock.type !== 'collection_view_page') {\n const nestedPrefix = ['toggle', `transclusion_container`, `transclusion_reference`, 'column_list'].includes(\n childBlock.type\n )\n ? prefix\n : `\\n${prefix.trim()}> `\n md += await this.childrenToMd(childBlock, recordMap, nestedPrefix, page)\n if (childBlock.type === 'column') md += '\\n'\n }\n if (childBlock.type === 'toggle') md += `${prefix}</details>${prefix}`\n }\n return md\n }\n\n async decorationsToMarkdown(decos: Decoration[], recordMap: ExtendedRecordMap, prefix = '') {\n if (!decos) return String()\n let md = String()\n for (const deco of decos) {\n let wrapper = String()\n const [text, subdecos] = deco\n if (!subdecos) {\n md += text\n } else {\n let textonly: string = text\n for (const subdeco of subdecos)\n switch (subdeco[0]) {\n case 'p': {\n const blockId = subdeco[1]\n const linkedBlock = await this.getBlock(blockId, recordMap, `\"p\" ${getPageTitle(recordMap)}`)\n if (!linkedBlock) break\n\n const title = getBlockTitle(linkedBlock, recordMap)\n const url = getBlockLink(blockId, recordMap)\n textonly = `[${title}](${url})`\n break\n }\n case 'a': {\n const url = subdeco[1]\n textonly = `[${text}](${url})`\n break\n }\n case 'i':\n wrapper += '*'\n break\n case 'b':\n wrapper += '**'\n break\n case 'h':\n // Disable for now == syntax does not supported well\n wrapper += ''\n break\n case 'c':\n wrapper += '`'\n break\n case 's':\n wrapper += '~~'\n break\n case 'e':\n wrapper += '$'\n textonly = subdeco[1]\n break\n case 'eoi': {\n try {\n const objectid = subdeco[1]\n const object = await this.getBlock(objectid, recordMap, `\"eoi\" ${getPageTitle(recordMap)}`)\n if (!object) break\n const url = object.format.uri\n const title = object.format.attributes\n ? object.format.attributes?.filter(attr => attr.id === 'title')[0]?.values?.[0]\n : url\n if (!url) break\n textonly = `[${title}](${url})`\n break\n } catch (e) {\n console.error(e, deco)\n break\n }\n }\n case 'u': {\n const user = await this.getUser(subdeco[1], recordMap)\n if (!user) break\n textonly = `[@${user.name}](mailto:${user.email})`\n break\n }\n }\n let decorated: string = textonly\n if (subdecos.find(subdeco => subdeco[0] === '_')) decorated = `<u>${textonly}</u>`\n decorated = wrapper + decorated + wrapper.split('').reverse().join('')\n md += decorated\n }\n }\n const lines = md.split('\\n')\n const prefixed = lines.map(line => prefix + line)\n return prefixed.join('')\n }\n\n async getBlock(id: string, recordMap: ExtendedRecordMap, message = '') {\n let block = recordMap.block[id]?.value\n if (!block && this.recordMap) block = this.recordMap.block[id]?.value\n try {\n if (!block && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getBlocks([id])\n block = response.recordMap?.block?.[id]?.value\n }\n } catch {\n if (!block) if (this.debug) console.warn(`${message} Missing block ${id}`)\n }\n if (block) {\n recordMap.block[id] = { value: block, role: 'reader' }\n if (this.recordMap) this.recordMap.block[id] = { value: block, role: 'reader' }\n }\n return block\n }\n\n async getUser(id: string, recordMap: ExtendedRecordMap) {\n let user = recordMap.notion_user[id]?.value\n if (!user && this.recordMap) user = this.recordMap.notion_user[id]?.value\n try {\n if (!user && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getUsers([id])\n user = response.recordMapWithRoles?.notion_user?.[id]?.value\n }\n } catch {\n if (!user) if (this.debug) console.warn(`Missing user ${id}`)\n }\n if (user) {\n recordMap.notion_user[id] = { value: user, role: 'reader' }\n if (this.recordMap) this.recordMap.notion_user[id] = { value: user, role: 'reader' }\n }\n return user\n }\n\n async getCollection(collectionViewBlock: CollectionViewBlock, recordMap: ExtendedRecordMap, message = '') {\n const collectionId = collectionViewBlock.collection_id\n let collection = recordMap.collection[collectionViewBlock.collection_id]?.value\n if (!collection && this.recordMap) {\n collection = this.recordMap.collection[collectionId]?.value\n if (collection) {\n recordMap.collection[collectionId] = this.recordMap.collection?.[collectionId]\n for (const viewId of collectionViewBlock.view_ids)\n recordMap.collection_view[viewId] = this.recordMap.collection_view?.[viewId]\n }\n }\n try {\n if (!collection && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getPageRaw(collectionViewBlock.id)\n // @wait for rate limit\n sleepSync(1000 * this.wait)\n if (!response.recordMap) console.error(response)\n collection = response.recordMap.collection[collectionId]?.value\n if (collection) {\n recordMap.collection_view = { ...recordMap.collection_view, ...response.recordMap.collection_view }\n recordMap.collection = { ...recordMap.collection, ...response.recordMap.collection }\n recordMap.block = { ...recordMap.block, ...response.recordMap.block }\n this.recordMap.collection_view = { ...this.recordMap.collection_view, ...response.recordMap.collection_view }\n this.recordMap.collection = { ...this.recordMap.collection, ...response.recordMap.collection }\n this.recordMap.block = { ...this.recordMap.block, ...response.recordMap.block }\n }\n }\n } catch {\n if (!collection) if (this.debug) console.warn(`${message} Missing collection block ${collectionViewBlock.id}`)\n }\n await this.getCollectionView(collectionId, collectionViewBlock.view_ids[0], recordMap, message)\n return collection\n }\n\n async getCollectionView(collectionId: string, viewId: string, recordMap: ExtendedRecordMap, message = '') {\n let results = recordMap.collection_query?.[collectionId]?.[viewId]?.collection_group_results\n if (!results && this.recordMap) {\n results = this.recordMap.collection_query?.[collectionId]?.[viewId]?.collection_group_results\n if (results) {\n recordMap.collection_query![collectionId] = {\n ...recordMap.collection_query![collectionId],\n [viewId]: this.recordMap.collection_query?.[collectionId]?.[viewId]\n }\n this.recordMap.collection_query![collectionId] = {\n ...this.recordMap.collection_query![collectionId],\n [viewId]: this.recordMap.collection_query?.[collectionId]?.[viewId]\n }\n recordMap.collection![collectionId] = {\n ...recordMap.collection![collectionId],\n [viewId]: this.recordMap.collection?.[collectionId]?.[viewId]\n }\n this.recordMap.collection![collectionId] = {\n ...this.recordMap.collection![collectionId],\n [viewId]: this.recordMap.collection?.[collectionId]?.[viewId]\n }\n }\n }\n try {\n if (!results && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getCollectionData(collectionId, viewId, recordMap.collection_view[viewId]?.value)\n results = response.result?.reducerResults?.collection_group_results\n if (results) {\n recordMap.collection_query![collectionId] = {\n ...recordMap.collection_query![collectionId],\n [viewId]: response.result?.reducerResults\n }\n if (this.recordMap)\n this.recordMap.collection_query![collectionId] = {\n ...this.recordMap.collection_query![collectionId],\n [viewId]: response.result?.reducerResults\n }\n for (const blockId in response.recordMap.block) {\n const block = response.recordMap.block[blockId].value\n if (block) {\n recordMap.block[blockId] = { value: block, role: 'reader' }\n if (this.recordMap) this.recordMap.block[blockId] = { value: block, role: 'reader' }\n }\n }\n for (const collection in response.recordMap.collection) {\n const collectionValue = response.recordMap.collection[collection].value\n if (collectionValue) {\n recordMap.collection[collection] = { value: collectionValue, role: 'reader' }\n if (this.recordMap) this.recordMap.collection[collection] = { value: collectionValue, role: 'reader' }\n }\n }\n for (const collectionView in response.recordMap.collection_view) {\n const collectionViewValue = response.recordMap.collection_view[collectionView].value\n if (collectionViewValue) {\n recordMap.collection_view[collectionView] = { value: collectionViewValue, role: 'reader' }\n if (this.recordMap)\n this.recordMap.collection_view[collectionView] = { value: collectionViewValue, role: 'reader' }\n }\n }\n }\n }\n } catch {\n if (!results) if (this.debug) console.warn(`${message} Missing collection view ${viewId}`)\n }\n return results\n }\n\n async getSpace(id: string, recordMap: ExtendedRecordMap) {\n let space = recordMap.space[id]?.value\n if (!space && this.recordMap) space = this.recordMap.space[id]?.value\n try {\n if (!space && this.token) {\n const notion = new NotionAPI({ authToken: this.token })\n const response = await notion.getSpaces([id])\n space = response.recordMapWithRoles?.space?.[id]?.value\n if (space) {\n recordMap.space[id] = { value: space, role: 'reader' }\n if (this.recordMap) this.recordMap.space[id] = { value: space, role: 'reader' }\n }\n }\n } catch {\n if (!space) if (this.debug) console.warn(`Missing space ${id}`)\n }\n return space\n }\n}\n\nexport async function loadRaw(\n folder: string\n): Promise<{ recordMap: ExtendedRecordMap; pageTree: PageTree; pageMap: PageMap }> {\n const promises = []\n promises.push(readFile(join(folder, 'recordMap', 'block.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'notion_user.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'space.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection_view.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'collection_query.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'recordMap', 'signed_urls.json'), 'utf8').then(JSON.parse))\n promises.push(readFile(join(folder, 'pageTree.json'), 'utf8').then(JSON.parse))\n\n const [block, collection, notion_user, space, collection_view, collection_query, signed_urls, pageTree] =\n await Promise.all(promises)\n\n const pageMap = {}\n const inputStream = fs.createReadStream(join(folder, 'pageMap.json'))\n const parseStream = JSONStream.parse('*')\n inputStream.pipe(parseStream)\n parseStream.on('data', (recordMap: ExtendedRecordMap) => {\n const key = Object.keys(recordMap.block)[0]\n pageMap[key] = recordMap\n })\n await new Promise(res => stream.finished(parseStream, err => res(err)))\n const recordMap: ExtendedRecordMap = {\n block,\n collection,\n notion_user,\n space,\n collection_query,\n collection_view,\n signed_urls\n }\n return { recordMap, pageTree, pageMap }\n}\n\nexport async function loadJson<C>(folder: string, filename: string): Promise<C> {\n const object = {} as C\n const inputStream = fs.createReadStream(join(folder, `${filename}.json`))\n const parseStream = JSONStream.parse('*')\n inputStream.pipe(parseStream)\n parseStream.on('*', ([key, value]) => {\n object[key] = value\n })\n return new Promise(res =>\n stream.finished(parseStream, err => {\n console.error(err)\n res(object)\n })\n )\n}\n\nconst sleepSync = (ms: number) => {\n const sharedBuffer = new Int32Array(new SharedArrayBuffer(4))\n Atomics.wait(sharedBuffer, 0, 0, ms)\n}\n","import fs from 'fs'\nimport { promisify } from 'util'\n\nexport interface PageNode {\n id: string\n blocks: number\n pages: number\n title: string\n children?: PageNode[]\n}\n\nconst writeFile = promisify(fs.writeFile)\n\nexport async function generateTreemaps(folder: string, pageTree: PageNode) {\n const treemapDataPages = computeMetrics(pageTree, 'pages')\n const titlePages = 'Texonom PageTree'\n const outputPathPages = `${folder}/pagetree.html`\n await generateTreemapHTML(treemapDataPages, titlePages, outputPathPages)\n\n const treemapDataBlocks = computeMetrics(pageTree, 'blocks')\n const titleBlocks = 'Texonom BlockMap'\n const outputPathBlocks = `${folder}/blocktree.html`\n await generateTreemapHTML(treemapDataBlocks, titleBlocks, outputPathBlocks)\n}\n\ninterface TreemapNode {\n id: string\n name: string\n value: number\n children?: TreemapNode[]\n}\n\nfunction computeMetrics(pageTree: PageNode, metric: 'blocks' | 'pages'): TreemapNode | null {\n function recurse(node: PageNode): TreemapNode | null {\n const children = node.children ? node.children.map(recurse).filter((child): child is TreemapNode => child !== null) : []\n let nodeValue = node[metric] || 0\n\n // Sum the values of the children\n if (children.length > 0) {\n const childrenValue = children.reduce((sum, child) => sum + child.value, 0)\n if (nodeValue === 0) nodeValue = childrenValue\n }\n\n // Exclude nodes with zero value\n if (nodeValue <= 0) return null\n\n return {\n id: node.id,\n name: node.title,\n value: nodeValue,\n children: children.length > 0 ? children : undefined\n }\n }\n return recurse(pageTree)\n}\n\nasync function generateTreemapHTML(data: TreemapNode, title: string, outputPath: string) {\n const htmlContent = `\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<title>${title}</title>\n<style>\n body {\n margin: 0;\n font-family: sans-serif;\n background-color: #202229;\n }\n .header {\n text-align: center;\n margin: 20px;\n font-size: 24px;\n color: white;\n }\n .breadcrumb {\n text-align: center;\n margin: 10px;\n font-size: 16px;\n color: white;\n }\n .current-title {\n text-align: center;\n margin: 10px;\n font-size: 18px;\n color: white;\n }\n .chart {\n width: 100%;\n height: 70vh;\n margin: auto;\n position: relative;\n }\n .node rect {\n cursor: pointer;\n stroke: #fff;\n stroke-width: 1px;\n rx: 8;\n ry: 8;\n }\n .label {\n text-anchor: middle;\n fill: white;\n text-decoration: underline;\n cursor: pointer;\n }\n .count {\n text-anchor: middle;\n fill: lightgray;\n }\n</style>\n</head>\n<body>\n<div class=\"header\">${title}</div>\n<div class=\"breadcrumb\" id=\"breadcrumb\"></div>\n<div class=\"current-title\" id=\"current-title\"></div>\n<div class=\"chart\" id=\"chart\"></div>\n<script src=\"https://d3js.org/d3.v6.min.js\"></script>\n<script>\n var data = ${JSON.stringify(data)};\n\n var margin = {top: 20, right: 0, bottom: 0, left: 0},\n width = document.getElementById('chart').clientWidth,\n height = document.getElementById('chart').clientHeight;\n\n var color = d3.scaleOrdinal()\n .domain([0, 1, 2, 3, 4, 5])\n .range([\"#465881\", \"#5f6d96\", \"#7882ab\", \"#9197c0\"]);\n\n var x = d3.scaleLinear()\n .domain([0, width])\n .range([0, width]);\n\n var y = d3.scaleLinear()\n .domain([0, height])\n .range([0, height]);\n\n var treemapLayout = d3.treemap()\n .size([width, height])\n .paddingInner(2)\n .round(false);\n\n var root = d3.hierarchy(data)\n .sum(function(d) { return d.value; })\n .sort(function(a, b) { return b.value - a.value; });\n\n treemapLayout(root);\n\n var svg = d3.select(\"#chart\").append(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .style(\"font\", \"10px sans-serif\")\n .style(\"position\", \"relative\");\n\n display(root);\n\n function display(d) {\n var currentDepth = d.depth;\n\n // Update breadcrumb\n var breadcrumb = d.ancestors().reverse().map(function(d) {\n return '<span class=\"breadcrumb-item\" data-id=\"' + d.data.id + '\">' + d.data.name + '</span>';\n }).join(' / ');\n document.getElementById('breadcrumb').innerHTML = breadcrumb;\n\n // Add click events to breadcrumb\n var breadcrumbItems = document.querySelectorAll('.breadcrumb-item');\n breadcrumbItems.forEach(function(item) {\n item.addEventListener('click', function(event) {\n var id = event.target.getAttribute('data-id');\n var node = findNodeById(root, id);\n if (node) {\n zoom(node);\n }\n });\n });\n\n // Update current title\n document.getElementById('current-title').innerText = d.data.name;\n\n x.domain([d.x0, d.x1]);\n y.domain([d.y0, d.y1]);\n\n var nodes = d.descendants().filter(function(node) {\n return node.depth - currentDepth <= 1 && node.depth >= currentDepth;\n });\n\n svg.selectAll(\".node\").remove();\n\n var cell = svg.selectAll(\".node\")\n .data(nodes)\n .enter().append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", function(d) { return \"translate(\" + x(d.x0) + \",\" + y(d.y0) + \")\"; })\n .on(\"click\", function(event, d) {\n if (d.children) {\n zoom(d);\n } else {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n }\n event.stopPropagation();\n });\n\n cell.append(\"rect\")\n .attr(\"id\", function(d) { return d.data.id; })\n .attr(\"width\", function(d) { return x(d.x1) - x(d.x0); })\n .attr(\"height\", function(d) { return y(d.y1) - y(d.y0); })\n .attr(\"fill\", function(d) { return color(d.depth); })\n .attr(\"rx\", 8)\n .attr(\"ry\", 8);\n\n cell.append(\"text\")\n .attr(\"class\", \"label\")\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2; })\n .text(function(d) { return d.data.name; })\n .style(\"font-size\", function(d) {\n var boxArea = (x(d.x1) - x(d.x0)) * (y(d.y1) - y(d.y0));\n var size = Math.max(10, Math.min(30, Math.sqrt(boxArea) / 5));\n return size + \"px\";\n })\n .on(\"click\", function(event, d) {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n event.stopPropagation();\n });\n\n cell.append(\"text\")\n .attr(\"class\", \"count\")\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2 + 20; })\n .text(function(d) { return d.data.value; })\n .style(\"fill\", \"lightgray\")\n .style(\"font-size\", \"0.8rem\");\n }\n\n function zoom(d) {\n var currentDepth = d.depth;\n\n // Update breadcrumb\n var breadcrumb = d.ancestors().reverse().map(function(d) {\n return '<span class=\"breadcrumb-item\" data-id=\"' + d.data.id + '\">' + d.data.name + '</span>';\n }).join(' / ');\n document.getElementById('breadcrumb').innerHTML = breadcrumb;\n\n // Add click events to breadcrumb\n var breadcrumbItems = document.querySelectorAll('.breadcrumb-item');\n breadcrumbItems.forEach(function(item) {\n item.addEventListener('click', function(event) {\n var id = event.target.getAttribute('data-id');\n var node = findNodeById(root, id);\n if (node) {\n zoom(node);\n }\n });\n });\n\n // Update current title\n document.getElementById('current-title').innerText = d.data.name;\n\n var t = svg.transition()\n .duration(750);\n\n x.domain([d.x0, d.x1]);\n y.domain([d.y0, d.y1]);\n\n var nodes = d.descendants().filter(function(node) {\n return node.depth - currentDepth <= 1 && node.depth >= currentDepth;\n });\n\n var cell = svg.selectAll(\".node\")\n .data(nodes, function(d) { return d.data.id; });\n\n cell.exit().remove();\n\n var cellEnter = cell.enter().append(\"g\")\n .attr(\"class\", \"node\")\n .on(\"click\", function(event, d) {\n if (d.children) {\n zoom(d);\n } else {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n }\n event.stopPropagation();\n });\n\n cellEnter.append(\"rect\")\n .attr(\"id\", function(d) { return d.data.id; })\n .attr(\"fill\", function(d) { return color(d.depth); })\n .attr(\"rx\", 8)\n .attr(\"ry\", 8);\n\n cellEnter.append(\"text\")\n .attr(\"class\", \"label\")\n .style(\"fill\", \"white\")\n .on(\"click\", function(event, d) {\n window.open('https://texonom.com/' + d.data.id, '_blank');\n event.stopPropagation();\n });\n\n cellEnter.append(\"text\")\n .attr(\"class\", \"count\")\n .style(\"fill\", \"lightgray\")\n .style(\"font-size\", \"0.8rem\");\n\n cell = cellEnter.merge(cell);\n\n cell.transition(t)\n .attr(\"transform\", function(d) { return \"translate(\" + x(d.x0) + \",\" + y(d.y0) + \")\"; });\n\n cell.select(\"rect\").transition(t)\n .attr(\"width\", function(d) { return x(d.x1) - x(d.x0); })\n .attr(\"height\", function(d) { return y(d.y1) - y(d.y0); });\n\n cell.select(\".label\").transition(t)\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2; })\n .text(function(d) { return d.data.name; })\n .style(\"font-size\", function(d) {\n var boxArea = (x(d.x1) - x(d.x0)) * (y(d.y1) - y(d.y0));\n var size = Math.max(10, Math.min(30, Math.sqrt(boxArea) / 5));\n return size + \"px\";\n });\n\n cell.select(\".count\").transition(t)\n .attr(\"x\", function(d) { return (x(d.x1) - x(d.x0)) / 2; })\n .attr(\"y\", function(d) { return (y(d.y1) - y(d.y0)) / 2 + 20; })\n .text(function(d) { return d.data.value; });\n }\n\n function findNodeById(node, id) {\n if (node.data.id === id) {\n return node;\n }\n if (node.children) {\n for (var child of node.children) {\n var result = findNodeById(child, id);\n if (result) return result;\n }\n }\n return null;\n }\n</script>\n</body>\n</html>\n `\n\n await writeFile(outputPath, htmlContent, 'utf8')\n}\n","import type { PageNode } from './treemap'\n\nexport interface ExportStats {\n totalPages: number\n totalBlocks: number\n maxDepth: number\n}\n\nexport function computeStats(pageTree: PageNode): ExportStats {\n let totalPages = 0\n let totalBlocks = 0\n let maxDepth = 0\n\n function traverse(node: PageNode, depth: number) {\n totalPages += node.pages || 0\n totalBlocks += node.blocks || 0\n if (depth > maxDepth) maxDepth = depth\n if (node.children) for (const child of node.children) traverse(child, depth + 1)\n }\n\n traverse(pageTree, 1)\n return { totalPages, totalBlocks, maxDepth }\n}\n\nexport async function writeStats(file: string, stats: ExportStats) {\n const fs = await import('fs/promises')\n await fs.writeFile(file, JSON.stringify(stats, null, 2), 'utf8')\n}\n"],"mappings":"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","names":["Cli","Builtins","displayName","version","Option","Command","NotionAPI","getBlockTitle","getCanonicalPageId","parsePageId","formatDate","getTextContent","getBlockParent","defaultMapImageUrl","getAllInSpace","getPageTitle","recursivePageTree","join","mkdir","readFile","JSONStream","fs","promisify","stream","format","isCollection","isSpace","writeFile","getBlockLink","blockId","recordMap","domain","NotionExporter","options","id","pageTree","pageMap","loadRaw","startPage","promises","table","filename","object","outputStream","transformStream","key","target","ext","path","markdown","md","attrs","attr","_a","_b","page","title","parentBlock","parent","properties","property","propName","propType","value","user","body","prefix","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","numbering","child","childBlock","nesting","url","e","collection","views","children","view","results","result","childPage","aliasBlock","caption","nestedPrefix","decos","deco","wrapper","text","subdecos","textonly","subdeco","linkedBlock","objectid","decorated","line","message","block","collectionViewBlock","collectionId","viewId","response","sleepSync","_n","_o","_p","_q","_r","_s","collectionValue","collectionView","collectionViewValue","space","folder","notion_user","collection_view","collection_query","signed_urls","inputStream","parseStream","res","err","loadJson","ms","sharedBuffer","fs","promisify","writeFile","generateTreemaps","folder","pageTree","treemapDataPages","computeMetrics","titlePages","outputPathPages","generateTreemapHTML","treemapDataBlocks","titleBlocks","outputPathBlocks","metric","recurse","node","children","child","nodeValue","childrenValue","sum","data","title","outputPath","htmlContent","computeStats","pageTree","totalPages","totalBlocks","maxDepth","traverse","node","depth","child","writeStats","file","stats","NotionExportCommand","Command","Option","exporter","NotionExporter","tree","generateTreemaps","stats","computeStats","writeStats","cli","Cli","displayName","version","NotionExportCommand","Builtins"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@texonom/cli",
|
|
3
3
|
"displayName": "Notion CLI",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.7",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Texonom CLI which has ability to export data from Notion.so",
|
|
7
7
|
"repository": "texonom/notion-node",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"clipanion": "^3.2.1",
|
|
26
26
|
"graceful-fs": "^4.2.11",
|
|
27
27
|
"prettier": "^3.5.3",
|
|
28
|
-
"@texonom/nclient": "^1.4.
|
|
29
|
-
"@texonom/ntypes": "^1.4.
|
|
30
|
-
"@texonom/nutils": "^1.4.
|
|
28
|
+
"@texonom/nclient": "^1.4.7",
|
|
29
|
+
"@texonom/ntypes": "^1.4.7",
|
|
30
|
+
"@texonom/nutils": "^1.4.7"
|
|
31
31
|
},
|
|
32
32
|
"standard-version": {
|
|
33
33
|
"skip": {
|